Kubernetes使用yaml文件滚动部署

时间:2018-07-12 17:11:56

标签: kubernetes

我已使用以下命令将应用程序部署到kubernetes中。

kubectl apply -f deployment.yaml -n <NAMESPACE>

我的部署内容在部署yaml文件中。

这很好。现在,我已经更新了deployment.yaml文件中的一些内容,因此想更新部署。

选项1:-删除并重新部署

kubectl delete -f deployment.yaml -n <NAMESPACE>
kubectl apply -f deployment.yaml -n <NAMESPACE>

选项2:-使用设置更新更改

kubectl set image deployment/nginx-deployment nginx=nginx:1.91

我不想使用这种方法,因为我将我的deploy.yaml文件保存在GitHUB中。

选项3:-使用编辑命令

kubectl edit deployment/nginx-deployment

我不想使用以上3个选项。

是否可以使用文件本身来更新部署。

就像

kubectl update deployment.yaml -n NAMESPACE

这样,我将确保我的GITHUB中始终有最新的部署文件。

谢谢

1 个答案:

答案 0 :(得分:3)

就像@Daisy Shipton所说的那样,您可以通过一个简单的命令kubectl apply -f deployment.yaml来简化您想做的事情。

我还要补充一点,我认为使用选项2 用命令性命令更新Pod所使用的图像是不正确的!如果真相的来源是GitHub上存在的Deployment文件,则只需修改该Pod容器在那里使用的图像来更新该文件!

  • 下次您要更新Deployment对象时,除非您不忘记修改.yaml文件,否则将设置Pods以使用以前的Nginx图像。

因此在使用命令式命令更新任何Kubernetes对象的规范时肯定存在一些限制!