【Kubernetes】(七)Kubernetes控制器

1、说明K8s控制器的作用?

Controller manager,控制器用来监控集群的状态,并可将当前状态变为预期状态


2、什么是ReplicaSet,说明它的主要用途。

ReplicaSet副本集是k8s的控制器,保证集群运行指定数量的Pod副本,副本里面的内容一模一样。

主要用途:

保证(给定数量,完全相同的)Pod的高可用性:实时监控副本数量,当一个Pod崩溃后自动重建一个,防止服务单点

当副本集为三的时候,在命令行用kubectl删掉其中一个pod的时候,kubelet发现后就会告诉APIserver,APIserver公示给控制器后,控制器会干预,使pod数始终为我们所期望的。


3、Deployment控制器是如何工作的,举例说明其常见用途。

Deployment可管理ReplicaSet,它通过控制多个RS来实现对Pod的声明式管理。

  1. ++++创建++**++**Deployment:Deployment会根据配置,自动创建一个初始的ReplicaSet,这个RS会按照replicas数量,创建一模一样的Pod
  2. ++++滚动更新++++ :当你更新、修改Deployment的时,它不会直接修改旧RS,而是创建一个新的RS,新RS的副本数从0到3,创建3个新版本的Pod,同时旧RS从3减到0,旧Pod被逐个销毁,始终保持可用pod数为3。新旧交替,实现无间断更新。
  3. ++++回退++++:当更新出错时,回退到之前的版本。退到旧版本时,旧版本的镜像又创建了一个复制集,历史中不会显示之前的版本。
  4. ++++伸缩++++:可根据需求修改副本数

4、解释DaemonSet,列举其使用场景。

DaemonSet守护进程控制器可在全部节点上运行一个相同的pod副本。如果再加1个节点,会自动在新节点上创建1个Pod。如果某个节点被移除,该节点上Pod会被回收。master节点有污点,DaemonSet不会在master上跑Pod。

用途:在每个节点上运行集群、日志收集、监控守护进程。


5、什么是StatefulSet,其主要作用是什么?

StatefulSet 有状态集控制器,里面的每个Pod拥有稳定、唯一、不可互换的身份ID。
Eg:不希望像MySQL数据库的pod的名字变化

作用:有稳定、唯一的网络标识;稳定、独立的持久化存储;有序的部署、缩放;有序的滚动更新。即固定身份+稳定存储+有序生命周期。

主要解决数据库、缓存、消息队列、分布式协调服务等有状态应用的编排难题。

StatefulSet所创建的pod名字是固定且有序的


6、说明Job与CronJob的功能。

Job:一次性定时任务,跑完就结束

CronJob:定时周期性任务,按分、时、日、月、周循环定时执行。每次触发都创建全新Pod,任务跑完立马删除Pod,随用随建。


相关推荐
jonyleek17 分钟前
JVS数字底座私有化部署实践:Spring Cloud + K8S 实现文档平台开箱即用
elasticsearch·kubernetes·私有化部署·springcloud·minio·jvs企业文档·文档治理
阿里云云原生1 小时前
欢迎报名丨Alibaba Cloud AgentCore 八城巡回沙龙上海首站开启
云原生
阿里云云原生2 小时前
AgentTeams Dashboard:统一管理团队、项目与资产
云原生·agent
千桐科技2 小时前
qModel算法模型平台功能解析:从源码到 Docker 镜像,部署能自动完成哪些工作?
运维·docker·容器·qmodel
阿里云云原生3 小时前
HiRoute:Jev 模型智能路由实践
云原生
阿里云云原生4 小时前
云栖实录丨面向 AgenticOps 的开源建设:采集标准化、统一语义建模与能力评测
云原生·开源
cubestudio4 小时前
云原生分布式训练怎么调度才不浪费算力?CubeStudio 分布式训练与加速架构解析(CRD+Operator / gang 调度 / 亲和反亲和 / GPU 利用率 / 共享 GPU)
人工智能·云原生·gpu
mengge.cloud4 小时前
1019Namespace ,Contexts ,Kubernetes Pod
运维·服务器·网络·云原生·容器·kubernetes·云计算
阿里云云原生5 小时前
从单点探索到规模化运营:滔搏体育的企业级多智能体实践
云原生
flytalei5 小时前
从 Docker Compose 到 K3s:逐浪博客 MySQL 数据迁移实战与一致性验证
mysql·docker·容器