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