K8S之Deployment控制器管理应用(十一)

  • Deployment介绍

     Deployment是最常用的K8s工作负载控制器(Workload Controllers), 是K8s的一个抽象概念,用于更高级层次对象,部署和管理Pod。

     Deployment的主要功能:

• 管理Pod,即应用程序

• 具有上线部署、副本设定、滚动升级、回滚等功能 应用场景:网站、API、微服务

  • 应用生命周期管理流程

  • 应用部署

第一步:部署镜像

• kubectl apply -f xxx.yaml

• kubectl create deployment web --image=nginx:1.16 --replicas=3

  • 应用升级

第二步:应用升级(更新镜像2种方式,自动触发滚动升级)

• kubectl apply -f xxx.yaml

• kubectl set image deployment/web nginx=nginx:1.17

滚动升级:K8s对Pod升级的默认策略,通过使用新版本 Pod逐步更新旧版本Pod,实现零停机发布,用户无感知。

  • 应用水平扩容和缩容

第三步:水平扩缩容(启动多实例,提高并发)

• 修改yaml里replicas值,再apply

• kubectl scale deployment web --replicas=10

注:replicas参数控制Pod副本数量

  • 应用发布失败回滚

第四步:应用发布失败回滚(项目升级失败恢复到正常版本)

kubectl rollout history deployment/web # 查看历史发布版本

kubectl rollout undo deployment/web # 回滚上一个版本

kubectl rollout undo deployment/web --to-revision=2 # 回滚历史指定版本

注:回滚是重新部署某一次部署时的状态,即当时版本所有配置

  • 应用下线

最后,项目下线,将资源删除:

kubectl delete deploy/web

kubectl delete svc/web

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

管理大亨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值