k8s controller manager工作原理

Kubernetes的controller manager是Kubernetes组件之一,负责管理集群中的控制循环,确保资源处于预期状态。以下是controller manager的工作原理简述:

  1. Replication Controller: 确保每个pod副本 (replica) 都运行在指定的数量。

  2. Node Controller: 监控集群中的节点状态,标记并清理未运行或失败的节点。

  3. ResourceQuota Controller: 确保集群中的对象数量(如pods,services等)保持在预定的资源配额内。

  4. Service Controller: 管理服务的DNS记录和代理服务器,确保服务可以被集群内外的其他Pod所访问。

  5. Endpoints Controller: 更新服务的端点信息,使得服务可以路由到正确的后端Pods。

  6. Service Account Controller: 为新的命名空间创建默认的服务账号。

  7. Deployment Controller: 管理Deployment资源的创建、更新、滚动更新和回滚。

  8. **DaemonSet Controller:**确保所有(或一些)节点上运行一个副本的Pod。

  9. Job Controller: 管理Job资源的执行,确保Pod成功完成。

  10. CronJob Controller: 管理CronJob资源的执行,创建Job以按计划执行。

这些控制器作为controller manager的一部分运行,监视集群的状态,并根据需要执行操作来维护所需的状态。每个控制器都遵循类似的模式:周期性地列出相关资源对象,遍历它们,并根据需要调整系统状态以匹配期望状态。

相关推荐
天草二十六_简村人15 小时前
jenkins打包制作Python镜像,并推送至docker仓库,部署到k8s
后端·python·docker·容器·kubernetes·jenkins
虚伪的空想家15 小时前
首发:TDengine3.3.6版本使用K8S部署
java·docker·容器·kubernetes·k8s·时序数据库·tdengine
MyFreeIT16 小时前
部署到Docker后,路径造成的异常
运维·docker·容器
java_logo17 小时前
PGADMIN4 Docker 容器化部署指南
运维·数据库·docker·postgresql·容器·数据库系统
java_logo17 小时前
Apache Kafka Docker 容器化部署指南
运维·docker·云原生·容器·kafka·kubernetes·apache
阿沁QWQ17 小时前
stack和queue
云原生·容器·kubernetes
火山引擎开发者社区17 小时前
Vector Bucket:云原生向量存储新范式
人工智能·机器学习·云原生
KubeSphere 云原生18 小时前
云原生周刊:K8s 成为人工智能的新动力引擎
人工智能·云原生·kubernetes