7.Deployment

发布时间 2023-03-23 14:45:29作者: -wei

一. 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注意事项