如何在kubernetes上传递配置文件yaml以创建新的复制控制器
在创建复制控制器时,我试图通过kubernetes在nginx容器上传递一个配置文件(位于master上)。。例如,当我们在Dockerfile中使用ADD命令时…在Kubernetes中实例化pod规范时,没有一种方法可以动态地将文件添加到pod规范中 以下是几个备选方案(可能会解决您的问题):如何在kubernetes上传递配置文件yaml以创建新的复制控制器,kubernetes,Kubernetes,在创建复制控制器时,我试图通过kubernetes在nginx容器上传递一个配置文件(位于master上)。。例如,当我们在Dockerfile中使用ADD命令时…在Kubernetes中实例化pod规范时,没有一种方法可以动态地将文件添加到pod规范中 以下是几个备选方案(可能会解决您的问题): 将配置文件构建到容器中(使用docker ADD命令)。这样做的优点是它以您已经熟悉的方式工作,但缺点是您无法在不重建容器的情况下再参数化容器 使用环境变量而不是配置文件。这可能需要对代码进行一些重构
我相信您也可以在容器初始化期间下载config。 请参阅下面的示例,您可以下载config而不是index.html,但我不会将其用于诸如密码之类的敏感信息
apiVersion: v1
kind: Pod
metadata:
name: init-demo
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
volumeMounts:
- name: workdir
mountPath: /usr/share/nginx/html
# These containers are run during pod initialization
initContainers:
- name: install
image: busybox
command:
- wget
- "-O"
- "/work-dir/index.html"
- http://kubernetes.io
volumeMounts:
- name: workdir
mountPath: "/work-dir"
dnsPolicy: Default
volumes:
- name: workdir
emptyDir: {}
哦,这可能是正确的方法