💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
有的时候我们需要频繁的对 Deployment 的配置进行修改,如果每修改一次就触发一次更新的话会显得比较麻烦,这个时候可以暂停 Deployment 的更新操作,多次修改配置,然后再恢复 Deployment,一次性触发完整的更新操作。 我们这里先删除掉前面创建的 nginx-deployment,然后重新使用文件进行创建(注意创建的时候可以加上 --record 参数): ~~~bash $ kubectl create -f nginx-deployment.yaml --record deployment.apps/nginx-deployment created $ kubectl get deployments NAME READY UP-TO-DATE AVAILABLE AGE nginx-deployment 3/3 3 3 28s $ kubectl get rs NAME DESIRED CURRENT READY AGE nginx-deployment-5754944d6c 3 3 3 34s ~~~ 使用命令`kubectl rollout pause`暂停 Deployment 的更新操作: ~~~bash $ kubectl rollout pause deployment/nginx-deployment deployment.extensions/nginx-deployment paused ~~~ 修改 Deployment 的镜像信息为 nginx:1.9.1: ~~~bash $ kubectl set image deployment/nginx-deployment nginx=nginx:1.9.1 deployment.extensions/nginx-deployment image updated ~~~ 查看更新历史记录,可以看到并没有触发对应的更新操作: ~~~bash $ kubectl rollout history deployment/nginx-deployment deployment.extensions/nginx-deployment REVISION CHANGE-CAUSE 1 kubectl create --filename=nginx-deployment.yaml --record=true ~~~ 这里我们再一次更新 Deployment 配置,限制容器的资源使用: ~~~bash $ kubectl set resources deployment nginx-deployment -c=nginx --limits=cpu=200m,memory=512Mi deployment.extensions/nginx-deployment resource requirements updated ~~~ 恢复 Deployment 的部署操作: ~~~bash $ kubectl rollout resume deploy nginx-deployment deployment.extensions/nginx-deployment resumed ~~~ 查看 RS 资源和 Deployment 的详细信息: ~~~bash # 可以看到新创建的 RS(nginx-deployment-7576c67d77) $ kubectl get rs NAME DESIRED CURRENT READY AGE nginx-deployment-5754944d6c 0 0 0 6m40s nginx-deployment-7576c67d77 3 3 3 58s # 观察 nginx-deployment 的配置信息是否修改 $ kubectl describe deployment/nginx-deployment ... Annotations: deployment.kubernetes.io/revision: 2 kubernetes.io/change-cause: kubectl create --filename=nginx-deployment.yaml --record=true ... Pod Template: Labels: app=nginx Containers: nginx: Image: nginx:1.9.1 # 镜像已经更新 Port: 80/TCP Host Port: 0/TCP Limits: # 容器资源的限制已经生效 cpu: 200m memory: 512Mi ... ~~~