【问题标题】:Best practice for adding app configuration files into kubernetes pods将应用配置文件添加到 kubernetes pod 的最佳实践
【发布时间】:2021-04-15 18:58:58
【问题描述】:
我有以下设置:
一个 azure kubernetes 集群,其中包含一些我的应用程序(由多个 pod 组成)正在运行的节点。
我正在寻找一种制作项目特定配置文件(几百行)可用于两个已部署容器及其副本的好方法。
我的项目之间的配置文件不同,但容器不同。
我正在寻找诸如容器中的只读文件挂载之类的东西,但还没有找到好方法。我玩过持久性卷声明,但除了复制(包括 uri 和秘密管理)之外似乎没有自动文件放置的可能性。
最好的办法是让 kubectl 使用 yaml 文件 访问我的开发人员机器上的特定文件夹以将我的配置文件推送到集群中。
谁能指导我找到适合我情况的好解决方案?
【问题讨论】:
标签:
kubernetes
containers
configuration-files
【解决方案1】:
您可以为此使用 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 中可用