kubenetes 应用更新

一、Deployment类型:

1、更新:

1)、命令方式更新镜像:

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):

kubectl edit deployment nginx-deployment

3)、使用已经写好的yml文件更新:

kubectl apply -f nginx.yml

4)、查看更新状态:

kubectl rollout status deployment nginx-deployment

2、回滚:

1)、查看历史版本:

kubectl rollout history deployment nginx-deployment

2)、查看指定历史版本的详细信息:

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

3)、回滚到上个版本:

kubectl rollout undo deployment/nginx-deployment

4)、回滚到指定的历史版本:

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

3、伸缩:

1)、更改replicas数量:

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

 二、Statefulset类型:

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

posted @ 2018-06-28 16:04  灬魑魅魍魉灬  阅读(877)  评论(0编辑  收藏  举报