如何管理持续交付的kubernetes部署yaml文件?
问题描述:
比方说,我有一个简单的部署kubernetes配置:如何管理持续交付的kubernetes部署yaml文件?
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: backend
spec:
replicas: 1
template:
metadata:
name: backend
spec:
containers:
- name: backend
image: backend:1.0.0
resources:
limits:
memory: "500Mi"
cpu: "100m"
imagePullPolicy: Always
我想有持续部署。
一种方式做到这一点是简单地使用这个文件创建和更新运行类似
kubectl set image deployment/backend backend=backend:1.1.0
。但是,如果稍后我想改变限制,我将不得不找出当前的版本运行,取代yaml文件并应用它?似乎累赘谷歌似乎使用
sed
更换image version in their example,而这种作品的罚款,如果你kubernetes配置文件存储在同一回购为你的代码。而如果他们存储在其他地方,或者你的构建需要相当长的时间?因此,只需更改一个属性即可完成整个构建过程(可能太长)有一个脚本可以在每次部署后根据版本输入自动生成yaml文件,并且始终仅编辑模板(但是再次,您在哪里存储最后部署的版本?)
某些第三方工具?