多副本
kubectl create deployment name --image=nginx --replicas=3
扩容和缩容
kubectl scale -n default deployment name --replicas=4
或者:
修改配置文件
kubectl -n defalut edit deployment name
找到replicas 修改为自己要的副本数量
版本回退
查看历史记录
kubectl rollout history deployment name
回退版本
kubectl rollout undo deployment name --to-revision=1
Deployment控制器支持两种更新策略: 滚动更新(RollingUpdate)和删除式更新(Recreate)也称为单批次更新
滚动更新(RollingUpdate)一次仅更新一批Pod,当更新的Pod就绪后,再更新另一批,直到全部更新完成为止,该策略实现了不间断服务的目标,在更新过程中可能会出现不同的应用版本且并存,同时提供服务的情况。
1.创建新的RS,然后根据新的镜像运行新的Pod。
2.删除旧的Pod,启动新的Pod,当新Pod就绪后,继续删除旧Pod,启动新Pod。
3.持续第二步过程,一直到所有Pod都被更新成功。
ReCreate实践;
Recreate分为三个步骤:
1.杀死所有旧版本的Pod,此时Pod无法正常对外提供服务;
2.创建新的RS,启动新的Pod;
3.等待Pod就绪,对外提供服务;
pod的服务发现和负载均衡
kubectl expose deploy name --prot=8000 --target-port=80