标签: kubernetes
我正在学习Kubernetes,并计划使用Kubernetes清单对我的应用程序进行连续部署。
我想在清单中将我的应用定义为Deployment和Service,并使CD系统在清单文件上运行kubectl apply -f。
Deployment
Service
kubectl apply -f
但是,我们当前的设置是使用该应用程序版本的git commit的SHA标记我们的Docker映像。
是否存在Kubernetes原生方式将图像标签表示为变量,并使CD系统将该变量设置为正确的git SHA?
答案 0 :(得分:1)
在这种情况下,您应考虑使用helm图表,在这些图表中,模板的骨架(或您所谓的最讨厌的骨架)与其从发行版更改为另一个的值之间是分开的。
在 templates / deployment.yaml 中:
spec: containers: - name: {{ template "nginx.name" . }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
并在 values.yaml 中:
image: repository: nginx tag: 1.11.0
查看完整的示例here