建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块
DevCloud 主题:7098帖子:75524

【技术干货】

Deployment部署业务流程简介

lte网络工... 2021/7/25 177

工作负载控制器是K8s的一个抽象概念,用于更高级层次对象,部署和管理Pod。
常用工作负载控制器:
• Deployment : 无状态应用部署
• StatefulSet : 有状态应用部署
• DaemonSet : 确保所有Node运行同一个Pod
• Job : 一次性任务
• Cronjob : 定时任务

同时,工作负载控制器也是k8s的资源类型元素,可以直接使用yaml文件拉起(应用)。

Deployment是最常用的工作负载控制器,其主要的功能有:
• 管理Pod和RS副本集;
• 具有上线部署、副本设定、滚动升级、回滚等功能
• 提供声明式更新,例如只更新一个新的Image

第一步:部署镜像
• kubectl apply -f xxx.yaml
• kubectl create deployment web --image=nginx:1.15 

支持两种命令方式部署,其中create是单次运行,而apply是动态刷新,所以apply更常用。

第二步:应用升级,更新镜像
• kubectl apply -f xxx.yaml
• kubectl set image deployment/web nginx=nginx:1.16
• kubectl edit deployment/web 

滚动升级在K8s中的实现:
• 1个Deployment
• 2个ReplicaSet

1个RS 控制增加副本数,另一个相应减少副本数,从而达到动态滚动自动升级的效果。
第三步:水平扩缩容(启动多实例,提高并发)
• 修改yaml里replicas值,再重新apply拉起
• kubectl scale deployment web --replicas=10

第四步:回滚(发布失败恢复之前正常运行的版本)
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

回复0

没有评论
上划加载中
直达楼层
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

采纳成功

您已采纳当前回复为最佳回复

lte网络工程师

发帖: 461粉丝: 18

发消息 + 关注

发表于2021年07月25日 17:55:56 177 0
直达本楼层的链接
楼主
显示全部楼层
[技术干货] Deployment部署业务流程简介

工作负载控制器是K8s的一个抽象概念,用于更高级层次对象,部署和管理Pod。
常用工作负载控制器:
• Deployment : 无状态应用部署
• StatefulSet : 有状态应用部署
• DaemonSet : 确保所有Node运行同一个Pod
• Job : 一次性任务
• Cronjob : 定时任务

同时,工作负载控制器也是k8s的资源类型元素,可以直接使用yaml文件拉起(应用)。

Deployment是最常用的工作负载控制器,其主要的功能有:
• 管理Pod和RS副本集;
• 具有上线部署、副本设定、滚动升级、回滚等功能
• 提供声明式更新,例如只更新一个新的Image

第一步:部署镜像
• kubectl apply -f xxx.yaml
• kubectl create deployment web --image=nginx:1.15 

支持两种命令方式部署,其中create是单次运行,而apply是动态刷新,所以apply更常用。

第二步:应用升级,更新镜像
• kubectl apply -f xxx.yaml
• kubectl set image deployment/web nginx=nginx:1.16
• kubectl edit deployment/web 

滚动升级在K8s中的实现:
• 1个Deployment
• 2个ReplicaSet

1个RS 控制增加副本数,另一个相应减少副本数,从而达到动态滚动自动升级的效果。
第三步:水平扩缩容(启动多实例,提高并发)
• 修改yaml里replicas值,再重新apply拉起
• kubectl scale deployment web --replicas=10

第四步:回滚(发布失败恢复之前正常运行的版本)
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

Kubernetes

举报
分享

分享文章到朋友圈

分享文章到微博

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册

结贴

您对问题的回复是否满意?
满意度
非常满意 满意 一般 不满意
我要反馈
0/200