如何在Kubernetes清单中进行变量替换?
我正在学习Kubernetes并计划使用Kubernetes清单持续部署我的应用程序 我希望将我的应用程序定义为清单中的如何在Kubernetes清单中进行变量替换?,kubernetes,helm,Kubernetes,Helm,我正在学习Kubernetes并计划使用Kubernetes清单持续部署我的应用程序 我希望将我的应用程序定义为清单中的部署和服务,并让我的CD系统在清单文件中运行kubectl apply-f 然而,我们当前的设置是用该版本应用程序的git提交的SHA标记Docker图像 是否有一个KuBurnes原生方式来表示图像标记作为变量,并且CD系统将该变量设置为正确的Git SHA.< P>。在这种情况下,您应该考虑图表,在其中分离模板的骨架(或您所称的MalWesty)及其从释放到另一个的值。 在
部署
和服务
,并让我的CD系统在清单文件中运行kubectl apply-f
然而,我们当前的设置是用该版本应用程序的git提交的SHA标记Docker图像
是否有一个KuBurnes原生方式来表示图像标记作为变量,并且CD系统将该变量设置为正确的Git SHA.
< P>。在这种情况下,您应该考虑图表,在其中分离模板的骨架(或您所称的MalWesty)及其从释放到另一个的值。 在模板/deployment.yaml中:spec:
containers:
- name: {{ template "nginx.name" . }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
在值中。yaml:
image:
repository: nginx
tag: 1.11.0
查看完整示例我认为没有。但是这种元程序是像Jsonnet这样的语言想要解决的问题。您可以通过为同一映像构建推送两个标记来解决这个问题,sha commit和最新标记,并使用kubernetes yaml中的最新标记,这样,您就拥有了所有的提交标记,以防以后需要它们,您总是在部署触发器上拉取最新的标记。那么更新values.yml与更新部署yml之间有什么区别呢?在这种情况下,可以通过--set参数将标记名传递到helm命令中,而无需修改values.yamlhanks以获得回复!这是否允许CD进程捕获清单的任何更新?例如,如果开发人员更改了
部署
,比如POD上的资源限制。我希望它不仅更新标签,而且更新整个manifest.comment@RyanDawson非常棒。请查看helm。。今天在明天之前,深入研究它。