应用编排与管理:Deployment(二)|学习笔记

简介: 快速学习应用编排与管理:Deployment(二)

开发者学堂课程【Kubernetes 入门 应用编排与管理:Deployment(二)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/51/detail/1012


应用编排与管理:Deployment(二)


三、操作演示

输入

~Kubectl get node

输出

image.png

创建 development 输入

~kubectl creat -f/trp/development-case.yaml

Development.oppsnginx-deplymentcreated

输出

image.png

这时 getpod 可以看到当前的 pod 其实有两个 ReplicaSet,development 提供相应的机制来对应这个问题

 

四、架构设计

1、管理模式

Deployment 只负责管理不同版本的 ReplicaSet,由 ReplicaSet 管理 Pod 副本数

每个 ReplicaSet 对应了 Deployment template 的一个版本

一个 ReplicaSet 下的 Pod 都是相同的版本

Development 创建 ReplicaSet,ReplicaSet 创建 Pod,他们的 OwnerRef 对应一个副的 Create

2、Deployment 控制器

所有控制器都是通过 informer 做一些 watch,Development 的控制器其实是关注 Development 以及 ReplicaSet 相关的 Event,收到事件会交到队列中,首先逻辑会判断 Check、paused,paused 其实是 develoyment 是否需要禁止新的发布,develoyment 控制器做了版本管理和版本下的维持工作

image.png

3、ReplicaSet 控制器

image.png

4、扩容模拟

Deployment 的副本数由 ReplicaSet 管理

修改 Deployment replicas 之后,controller 会把 replicas 同步到当前版本的ReplicaSet 中,由 ReplicaSet 执行扩容/缩容

image.png

5、发布模拟

Development template1 对应 ReplicaSet1,下面有三个 pod,这时候如果修改 template,那么 Development template 就会新建一个2的 ReplicaSet,而创建之后 controller 逐步修改两个 ReplicaSet 的 replicas

image.png

6、回滚模拟

回滚的过程,其实是 Deployment controller 重新调整下属 ReplicaSet 的 replicas 数量

最终使旧版本的 ReplicaSet 重新扩出所有 Pod

image.png

7、spec 字段解析

l MinReadySeconds:

判断 Pod available 的最小 ready 时间

l revisionHistoryLimit :

保留历史 revision(ReplicaSet)的数量,默认值为10

l paused:

标识 Deployment 只做数量维持、不做新的发布

l progressDeadlineSeconds:

判断 Deployment statuscondition 为 failed 的最大时间

8、升级策略字段解析

MaxUnavailable:滚动过程中最多有多少个 Pod 不可用

MaxSurge:滚动过程中最多存在多少个 Pod 超过期望 replicas 数量

相关文章
|
5月前
|
Kubernetes 监控 调度
Kubernetes Pod调度:从基础到高级实战技巧
Kubernetes Pod调度:从基础到高级实战技巧
1099 0
|
Kubernetes Cloud Native 安全
云原生|kubernetes|多集群管理之kubeconfig文件配置和使用(定义,使用方法,合并管理多集群)(一)
云原生|kubernetes|多集群管理之kubeconfig文件配置和使用(定义,使用方法,合并管理多集群)
1944 0
云原生|kubernetes|多集群管理之kubeconfig文件配置和使用(定义,使用方法,合并管理多集群)(一)
|
1月前
|
Kubernetes 容器
Kubernetes附加组件Dashboard部署实战篇
关于如何在Kubernetes集群中部署和配置Dashboard组件的详细实战指南,涵盖了从创建证书、部署Dashboard、设置服务访问到登录认证的完整流程。
195 0
Kubernetes附加组件Dashboard部署实战篇
|
2月前
|
Kubernetes Cloud Native 开发者
OpenKruise:Kubernetes的超级插件,一键解锁容器运行时操作的超能力!
【8月更文挑战第8天】在云原生领域,Kubernetes虽已成为容器编排的标准,但仍有限制,比如批量操作不便和高级调度功能缺失。OpenKruise是一款增强工具,提供CloneSet、Advanced StatefulSet等功能,既保持Kubernetes API特性又增加了扩展性,使Pod管理更灵活。可通过Helm安装OpenKruise,并使用CloneSet轻松实现批量部署。这类增强工具让开发者能更高效地突破原生Kubernetes的限制,预计未来将更加受到欢迎。
58 8
|
1月前
|
Kubernetes 安全 网络性能优化
Kerbernetes的Pod资源管理进阶
文章详细介绍了Kubernetes中Pod的资源管理,包括健康检查、资源限制、安全配置、优先级和服务质量类别等方面的进阶知识。
38 0
|
5月前
|
JSON Kubernetes Cloud Native
云原生|kubernetes|多集群管理之kubeconfig文件配置和使用(定义,使用方法,合并管理多集群)
云原生|kubernetes|多集群管理之kubeconfig文件配置和使用(定义,使用方法,合并管理多集群)
487 0
|
存储 Kubernetes API
Kubernetes Deployment【1】管理与编排入门(2)
Kubernetes Deployment【1】管理与编排入门(2)
|
Kubernetes 应用服务中间件 nginx
k8s--kubernetes 组件、资源管理方式
k8s--kubernetes 组件、资源管理方式
|
Kubernetes 应用服务中间件 nginx
Kubernetes Deployment【1】管理与编排入门(1)
Kubernetes Deployment【1】管理与编排入门(1)
Kubernetes Deployment【1】管理与编排入门(1)
|
Kubernetes 应用服务中间件 测试技术
应用编排与管理:Deployment(一)|学习笔记
快速学习应用编排与管理:Deployment(一)
应用编排与管理:Deployment(一)|学习笔记