将应用程序配置文件添加到 kubernetes 的最佳实践 pods

Best practice for adding app configuration files into kubernetes pods

我有以下设置:

一个 azure kubernetes 集群 有一些节点,我的应用程序(由多个 pods 组成)是 运行。 我正在寻找一种好方法来制作 项目特定的配置文件 (几百行) 可用于两个已部署的容器 和他们的副本。

我的项目之间的配置文件不同,但容器不同。

我正在寻找容器中的只读文件挂载之类的东西,但还没有找到好的方法。我玩弄了持久卷声明,但除了复制(包括 uri 和秘密管理)之外似乎没有自动文件放置的可能性。

最好的办法是 kubectl 使用 yaml 文件 访问我的开发机器上的特定文件夹,以将我的配置文件推送到集群中。

谁能指导我找到适合我情况的好的解决方案?

您可以为此使用 configmap,但 configmap 包含您的配置文件。您可以通过以下方式使用配置文件的内容创建配置映射:

kubectl create configmap my-config --from-file=my-config.ini=/path/to/your/config.ini

并将其绑定为您的 pod 中的卷:

apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
  - name: mypod
    ...
    volumeMounts:
    - name: config
      mountPath: "/config"
      readOnly: true
  volumes:
  - name: config
    configMap:
      name: my-config #the name of your configmap

之后,您的配置在 /config/my-config.ini

下的 pod 中可用