代码之家  ›  专栏  ›  技术社区  ›  user1578872

使用yaml文件的kubernetes滚动部署

  •  2
  • user1578872  · 技术社区  · 7 年前

    我已经使用以下命令在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:-使用set更新更改

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

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

    选项3:—使用编辑命令

    kubectl edit deployment/nginx-deployment
    

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

    是否有任何方法可以使用文件本身更新部署。

    就像,

    kubectl update deployment.yaml -n NAMESPACE
    

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

    谢谢

    1 回复  |  直到 7 年前
        1
  •  3
  •   André B    7 年前

    正如@daisy shipton所说,您想要做的事情可以通过一个简单的命令来简化: kubectl apply -f deployment.yaml 是的。

    我还要补充一点,我认为利用 选择2 更新 Pod 带着命令! 如果真相的来源是 Deployment github上的文件,您只需修改pod容器中使用的图像就可以更新该文件!

    • 下次你想更新你的 部署 对象,除非您不忘记修改.yaml文件,否则您将设置pods以使用上一个nginx的图像。

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

    推荐文章