为什么我应该在 Kubernetes 中挂载一个 secret 或 configmap

问题描述

在 kubernetes POD 中,我可以选择将机密或 configmap 挂载为挂载到 POD 的卷。很难将这些文件作为环境变量访问。那么我为什么要这样做而不是将它们用作环境变量?

解决方法

这取决于应用程序期望如何加载机密。

例如如果应用程序希望加载 SSL certificate file,则可以将证书作为 Secret 中的文件并挂载该 Secret,以便应用程序可以将其作为文件读取。

,

您不必总是挂载机密或配置映射。您也可以使用它们来设置环境变量,如下所示

      envFrom:
      - configMapRef:
          name: env-configmap
      - secretRef:
          name: env-secrets

但是,在某些情况下,您可能希望将它们作为文件挂载。例如:

  1. 您想让 nginx.conf 与 docker 镜像分离。
  2. 将您的 SSL 证书(证书 + 私钥)保密,以便在您的网络应用程序上启用 SSL