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



我有以下设置:

一个azure kubernetes集群,其中有一些节点,我的应用程序(由多个pod组成(正在运行。我正在寻找一种好方法,使项目特定的配置文件(几百行(可用于两个部署的容器及其副本。

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

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

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

  • ConfigMaps不是一种正确的方法(因为数据必须在yaml中,而我的文件很大并且在变化(

  • 对于卷,在创建时似乎没有自动将文件放入其中的方法

有人能指导我找到一个适合我情况的好解决方案吗?

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

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

并将其绑定为吊舱中的一个卷:

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下可用

最新更新