Kubernetes (六) 控制器类型及详解示例

发布时间:2023年12月29日

一.? ?控制器详解? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ?? ? ?详情查看官方地址:? ? ? ??Deployments | Kubernetesicon-default.png?t=N7T8https://v1-24.docs.kubernetes.io/zh-cn/docs/concepts/workloads/controllers/deployment/

? 二.? 控制器类型?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? Replicaset控制器示例? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

?ReplicaSet简称(rs) 的目的是维护一组在任何时候都处于运行状态的 Pod 副本的稳定集合。 因此,它通常用来保证给定数量的、完全相同的 Pod 的可用性 ,主要用于扩容缩容? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ??1.? ?创建编辑文件? ? ? ? ? ??? ? ? ? ?vim?replicaset.yaml

? ? ? ? ? ? ? ??2.? 应用后查看所属标签? ? ? 更改副本数直接在文件修改重新应用即可

? ? ? ? ? ? ? ??3.? 这里看到即使更改标签,控制器会重建一个pod保持给定标签副本数

? ? ? ? ? ? ? ?? 4.??即使删除也会重新建保持给定副本数

? ?? ? ? ? ? ? ? ? ? ? ? ? ???Deployment控制器示例?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

一个 Deployment 为?Pod?和?ReplicaSet?提供声明式的更新能力。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

你负责描述 Deployment 中的?目标状态,而 Deployment?控制器(Controller)?以受控速率更改实际状态, 使其变为期望状态。你可以定义 Deployment 以创建新的 ReplicaSet,或删除现有 Deployment, 并通过新的 Deployment 收养其资源。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ?1.??创建编辑文件? ? ? ? ? ?vim?deployment.yaml

? ? ? ? ? ? ? ?2.? ?应用后查看到 deployment 连接rs ,rs用来控制副本数

? ? ? ?? ? ? ? 3.? 在文件中直接修改版本然后apply应用? 并查看到更新成功

?在你更新一个 Deployment 的时候,或者计划更新它的时候, 你可以在触发一个或多个更新之前暂停 Deployment 的上线过程。 当你准备应用这些变更时,你可以重新恢复 Deployment 上线过程。 这样做使得你能够在暂停和恢复执行之间应用多个修补程序,而不会触发不必要的上线作。

? ? ? ? ??1. 暂停避免触发不必要的线上更新? ? ? 这里看到调整副本数不受影响

? ? ? ? ? ?? 2.? 用命令更改版本号

? ? ? ?? ???3. 此时查看因为暂停 其实并没有更新 (你可以此时做更多的资源设置)

? ? ? ? ? ? 4. 取消暂停命令开始执行更改的设置? ?(这里发现已经回到v1版本)

? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? DaemonSet控制器示例? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ?? ? ?1.? ?创建编辑文件? ? ? ? ?vim?daemonset.yaml

? ? ? ? ? ? ? ? ? ? ?2.? ?应用后查看到运行在node上

? ? ? ? ? ? ? ? ? ???3.?如果要master也参与调度编辑文件即可

?? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? Job?控制器示例? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

Job 会创建一个或者多个 Pod,并将继续重试 Pod 的执行,直到指定数量的 Pod 成功终止。 随着 Pod 成功结束,Job 跟踪记录成功完成的 Pod 个数。 当数量达到指定的成功个数阈值时,任务(即 Job)结束。 删除 Job 的操作会清除所创建的全部 Pod。 挂起 Job 的操作会删除 Job 的所有活跃 Pod,直到 Job 被再次恢复执行。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ? ? ? ? 1. 创建编辑文件? ? ? ? ? ?vim?job.yaml

? ? ? ? ? ? ? ? ??? ? ?2. 应用后查看到成功且是两两运行因为设置了并行

? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ?Cronjob?控制器示例? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

?cronjob创建基于时隔重复调度的?Jobscronjob是周期化的创建一个job控制器,在由job控制器创建pod,相当于job和pod的一个申明式定义? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ? ? ??1.??创建编辑文件? ? ? ? ???vim?cronjob.yaml

? ? ? ? ? ? ? ? ?? ? ?2.? 应用后查看job和pod的创建情况

? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ?

? ? ? ? ? ?

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ?

文章来源:https://blog.csdn.net/BJZX_OL/article/details/135271343
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。