(持续更新中.........)
$ kubectl scale --replicas=3 deployment/nginx-app
通过修改Deployment中副本的数量(replicas) ,可以动态扩展或收缩应用
$ kubectl get deploy
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
nginx-app 3 3 3 3 10m
滚动升级(Rolling Update) 通过逐个容器替代升级的方式来实现无中断的服务升级
kubectl rolling-update frontend-v1 frontend-v2 --image=image:v2
滚动升级只对于deployment实施了rollingupdate策略才行
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
在滚动升级的过程中,如果发现了失败或者配置错误,还可以随时回滚:
kubectl rolling-update frontend-v1 frontend-v2 --rollback
而更新应用的话,就可以直接用 kubectl set 命令:
kubectl set image deployment/nginx-app nginx-app=nginx:1.9.1
滚动升级的过程可以用 rollout 命令查看:
$ kubectl rollout status deployment/nginx-app
Deployment也支持回滚:
$ kubectl rollout history deployment/nginx-app
deployments "nginx-app"
REVISION CHANGE-CAUSE
1 <none>
2 <none>
$ kubernetes kubectl rollout undo deployment/nginx-app
deployment "nginx-app" rolled back