Kubernetes使用yaml文件进行滚动部署

Kubernetes使用yaml文件进行滚动部署,kubernetes,Kubernetes,我使用以下命令将一个应用程序部署到Kubernetes中 kubectl apply -f deployment.yaml -n <NAMESPACE> 我不想使用这种方法,因为我将deployment.yaml文件保存在GitHUB中 选项3:-使用编辑命令 kubectl edit deployment/nginx-deployment 我不想使用上述3个选项 是否有任何方法可以使用文件本身更新部署 像 这样,我将确保在我的GitHub repo中始终有最新的部署文件。正如@

我使用以下命令将一个应用程序部署到Kubernetes中

kubectl apply -f deployment.yaml -n <NAMESPACE>
我不想使用这种方法,因为我将deployment.yaml文件保存在GitHUB中

选项3:-使用编辑命令

kubectl edit deployment/nginx-deployment
我不想使用上述3个选项

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


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

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

我还要补充一点,我认为使用选项2用命令更新
Pod
使用的图像是不正确的
如果真相的来源是GitHub上存在的
部署
文件,那么您只需通过修改Pod容器使用的图像来更新该文件即可

  • 下次您希望更新
    部署
    对象时,除非您忘记修改.yaml文件,否则您将设置POD以使用以前的Nginx映像

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

如果只
kubectl apply-f deployment.yaml
而不先删除
kubectl
呢?(我的理解是,
kubectl apply
的要点是执行智能差异/补丁,因此在
kubectl delete
之后执行它似乎有点奇怪。)
kubectl set image deployment/nginx-deployment nginx=nginx:1.91
kubectl edit deployment/nginx-deployment
kubectl update deployment.yaml -n NAMESPACE