本文主要是介绍【Kubernetes知识点问答题】kubernetes 控制器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
1. 说明 K8s 控制器的作用?
2. 什么是 ReplicaSet,说明它的主要用途。
3. Deployment 控制器是如何工作的,举例说明其常见用途。
4. 解释 DaemonSet,列举其使用场景。
5. 什么是 StatefulSet,其主要作用是什么?
6. 说明 Job 与 CronJob 的功能。
1. 说明 K8s 控制器的作用?
在 K8s 中, 控制器就像 K8s 的大脑,控制器通过监控集群的公共状态来确保集群的当前状态与期望状态保持一致,该期望值就是资源对象的 spec 字段。每个控制器只负责管理某种类型的特定资源。
2. 什么是 ReplicaSet,说明它的主要用途。
ReplicaSet 简称 RS,它控制 pod 的副本数始终与预设的值相等,RS 会持续监视这些 Pod 的运行状态,并在 Pod 发生故障时重启 Pod。
K8s 官方建议使用 Deployments 代替 RS 来控制 Pod 副本的量,因为 Deployments 支持记录了历史变更的声明式更新,方便进行 RS 的升级和回退等。
3. Deployment 控制器是如何工作的,举例说明其常见用途。
(1)Deployment 控制器的工作原理:
一个 Deployment 能够为 Pod 和 ReplicaSet 提供声明式的更新能力。管理员描述 Deployment 中的目标状态,Deployment 控制器会以可控的进度更改 RS 的实际状态使其变为期望状态。
(2) Deployments 的典型用例有:
① 创建 Deployment 以将 ReplicaSet 上线。
② 通过更新 Deployment 的 PodTemplateSpec,声明 Pod 的新状态 。
③ 回滚到较早的 Deployment 版本。
④ 扩大 Deployment 规模以承担更多负载。
4. 解释 DaemonSet,列举其使用场景。
(1)解释 DaemonSet:
DaemonSet 能确保集群全部(或者某些)节点上都运行一个 Pod 的副本。当有节点加入时,会为其新增一个 Pod。当有节点从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod。
(2) DaemonSet 的一些典型用法:
① 在每个节点上运行集群守护进程。
② 在每个节点上运行日志收集守护进程。
③ 在每个节点上运行监控守护进程。
5. 什么是 StatefulSet,其主要作用是什么?
- StatefulSet 是用来管理有状态应用工作负载的 API 对象。
- 和 Deployment 类似, StatefulSet 可管理基于相同容器规约的一组 Pod。
- 但和 Deployment 不同的是, StatefulSet 为它们的每个 Pod 维护了一个有粘性的 ID,也就是这些 Pod 是基于相同的规约来创建的,但是不能相互替换:无论怎么调度,每个 Pod 都有一个永久不变的 ID。
- 例如,如果希望使用存储卷为工作负载提供持久存储,就可以引入 StatefulSet 作为解决方案。在这种环境中,StatefulSet 中的单个 Pod 一旦出现故障,则启动新 Pod 替换失败 Pod 时,持久的 Pod 标识符就使得新 Pod 与持久卷的的匹配变得更加容易。
6. 说明 Job 与 CronJob 的功能。
① Job 负责批量处理短暂的一次性任务,仅执行一次,并保证处理的一个或者多个 Pod 成功结束。
② CronJob 负责定时任务,在指定的时间周期运行指定的任务,比如备份、生成报表等。
这篇关于【Kubernetes知识点问答题】kubernetes 控制器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!