kubenetes 應用更新

1、Deployment類型:

一、更新:

1)、命令方式更新鏡像:html

kubectl set image deployment nginx-deployment nginx=nginx:1.9.1
kubectl set resources deployment nginx-deployment -c=nginx --limits=cpu=200m,memory=512Mi

2)、直接編輯文件(這種方式會直接建立所有pod,刪除所有pod):nginx

kubectl edit deployment nginx-deployment

3)、使用已經寫好的yml文件更新:shell

kubectl apply -f nginx.yml

4)、查看更新狀態:app

kubectl rollout status deployment nginx-deployment

二、回滾:

1)、查看歷史版本:spa

kubectl rollout history deployment nginx-deployment

2)、查看指定歷史版本的詳細信息:code

kubectl rollout history deployment nginx-deployment --revision=2

3)、回滾到上個版本:server

kubectl rollout undo deployment/nginx-deployment

4)、回滾到指定的歷史版本:htm

kubectl rollout undo deployment nginx-deployment --to-revision=2

三、伸縮:

1)、更改replicas數量:blog

kubectl scale deployment nginx-deployment --replicas=10

2)、暫停和恢復更新:部署

kubectl rollout pause deployment/nginx-deployment  #暫停
kubectl rollout resume deploy/nginx-deployment  #恢復
 注:不能回滾已暫停的部署,直到恢復

3)、自動伸縮擴容:

kubectl autoscale deployment nginx-deployment --cpu-percent=75 --min=2 --max=10  #當總體的cpu上升到75%時增長replicas數量

注:當使用自動擴容時得安裝metrics-server或heapster,因爲heapster以後不更新了,故使用metrics-server。
使用安裝metrics-server見:https://www.cnblogs.com/chimeiwangliang/p/9239592.html

 2、Statefulset類型:

一、Statefulset類型的更新和Deployment類型的方式相同,最好是用kubectl apply -f 的方式更新。

相關文章
相關標籤/搜索