一. Deployment概念:
用于部署无状态服务,这个时最常用的控制器。一般用于管理维护企业内部无状态的微服务,比如configserver、zuul、springboot。它可以管理多个副本的pod实现无缝迁移、自动扩容、自动灾难恢复、一键回滚等功能。
二. 创建deployment
kubectl create deployment nginx --replicas=3 --image=nginx:1.15.2 #使用create命令的方式创建一个3副本的deploy,端口自定义
三. 更新deployment中服务的版本
kubectl set image deploy nginx nginx=nginx:1.15.3 --record=true #更新nginx为1.15.3版本
四. 回滚
1.回滚到上一个版本
kubectl rollout undo deploy nginx
2.回滚到指定版本
kubectl rollout histiry deploy nginx #查看历史更新记录
kubectl rollout undo deploy nginx --to-revision=5 #回滚到revision为5的版本
五. 扩容及缩容
kubectl scale --replicas=3 deploy nginx #把副本数量更新到3
六. 暂停和恢复(如果需要多次修改deployment配置则建议暂停deployment,等修改完后再恢复使用)
kubectl rollout pause deployment nginx #暂停(注:暂停时不影响服务使用,只是把修改的配置项堆积,恢复后做统一修改)
kubectl rollout resume deploy nginx #恢复
七. deployment注意事项