零基础拿下云原生 CKA 认证
王雪飞
前东软高级工程师
510 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已更新 8 讲/共 23 讲
开篇词 (1讲)
中级篇 (1讲)
零基础拿下云原生 CKA 认证
15
15
1.0x
00:00/00:00
登录|注册

07|无状态应用部署:Deployment

你好,我是雪飞。
今天开始,我们进入到 K8s 中级篇。我会带你了解部署各类应用所需要的 K8s 资源对象,掌握这些资源对象的使用,你就能够为应用设计合适的部署方案,并在 K8s 集群中完整地部署应用。
这节课我带你了解一个非常重要的资源对象——Deployment,它适用于部署无状态应用。

认识 Deployment

之前介绍过无状态应用,简单来说,这类应用不管部署在哪里都可以独立完整的运行,所以无状态应用更易于扩展和维护。网站 Web 应用就是一种常见的无状态应用,可以同时部署多个 Web 应用,但是不管用户访问哪一个,得到的响应结果都一样。
Deployment 被设计用于同时部署和管理多个独立完整的 Pod,每个 Pod 里都运行相同的应用镜像,这正好对应着无状态应用的特点,所以说 Deployment 适合部署无状态应用。
Deployment 可以管理多个应用的 Pod 副本,最大的好处就是多个 Pod 一起工作,从而提高应用的处理能力。此外,即使部分 Pod 出现故障崩溃,其他 Pod 仍能继续运行,确保业务的持续可用。
举个生活中的例子,想象一下在火车站排队买票,起初只有一个售票窗口,当乘客增多时,单个售票员处理不过来,队伍就会变长,导致乘客等待时间增加。此时,如果开设多个售票窗口,乘客就会被分散到不同的窗口,加快了购票的速度。即使某个窗口的售票员临时离开,其他窗口依然可以继续服务,不会导致售票服务中断。在这个例子中,每个售票窗口就好比一个 Pod,而 Deployment 则负责管理这些窗口(Pod),确保服务的高效和稳定。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. Deployment 适用于部署无状态应用,可以管理多个应用的 Pod 副本,提高应用的处理能力,并确保业务的持续可用。 2. Deployment 的滚动更新功能可以实现在更新应用版本时,旧版本的 Pod 逐个被新版本的 Pod 替换,确保业务没有停机时间。 3. 滚动更新通过 ReplicaSet 资源对象实现,新版本的 ReplicaSet 开始创建新的 Pod,而旧版本的 ReplicaSet 开始删除旧的 Pod。 4. 通过修改 Deployment 的 YAML 文件、使用 "kubectl set" 命令或 "kubectl edit" 命令来更新应用镜像,触发滚动更新过程。 5. 可以使用 "kubectl rollout pause" 和 "kubectl rollout resume" 命令暂停和恢复 Deployment 版本更新。 6. 使用 "kubectl rollout history" 命令可以查看历史版本,通过在 Deployment 的 YAML 文件中添加 annotations 属性可以增加版本说明信息。 7. 可以使用 "kubectl rollout undo" 命令回滚到上一个版本或历史指定版本,保持服务不间断。 8. Deployment 的水平扩缩容功能可以通过增加或减少 Pod 的副本数量来调整应用的并行处理能力,应对访问流量变化。 9. 通过管理 Deployment,可以使用 kubectl 命令来管理 Deployment,包括查看列表、查看详情、通过 YAML 文件部署、删除资源对象和实时编辑资源对象等操作。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《零基础拿下云原生 CKA 认证》
新⼈⾸单¥59
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部
文章页面操作
MAC
windows
作用
esc
esc
退出沉浸式阅读
shift + f
f11
进入/退出沉浸式
command + ⬆️
home
滚动到页面顶部
command + ⬇️
end
滚动到页面底部
⬅️ (仅针对订阅)
⬅️ (仅针对订阅)
上一篇
➡️ (仅针对订阅)
➡️ (仅针对订阅)
下一篇
command + j
page up
向下滚动一屏
command + k
page down
向上滚动一屏
p
p
音频播放/暂停
j
j
向下滚动一点
k
k
向上滚动一点
空格
空格
向下滚动一屏
播放器操作
MAC
windows
作用
esc
esc
退出全屏
⬅️
⬅️
快退
➡️
➡️
快进
空格
空格
视频播放/暂停(视频全屏时生效)