K8S 的 Master组件

发布于:2025-08-09 ⋅ 阅读:(22) ⋅ 点赞:(0)

K8S 的 Master 组件有哪些?每个组件的作用?

K8s 大脑的 4 大核心模块,掌控全局!

Kubernetes 集群的 Master(主节点) 就像一座 指挥中心,负责整个集群的调度、管理和控制。它由 4 大核心组件组成,每个组件都有 独特的职责,确保容器服务稳定运行!

🎯 Master 组件有哪些?

Master 主要由以下 4 个组件组成:

🔹 API Server(kube-apiserver)
🔹 Scheduler(kube-scheduler)
🔹 Controller Manager(kube-controller-manager)
🔹 ETCD(数据存储)

下面我们逐一解析它们的作用👇

💡 1️⃣ API Server(kube-apiserver)—— K8s 的 “大门”

作用:
📌 作为 Kubernetes 的 入口,负责接收和处理所有的 RESTful API 请求(如创建 Pod、删除 Deployment)。
📌 认证 & 授权(谁能访问?谁有权限?)。
📌 数据验证 & 负载均衡,保证请求高效处理。

举个例子:
🔸 当你用 kubectl apply -f xxx.yaml 部署应用时,API Server 就会接收这个请求,并将任务分配给合适的组件执行。

💡 2️⃣ Scheduler(kube-scheduler)—— K8s 的 “调度员”

作用:
📌 决定 Pod 该运行在哪个节点上,确保资源利用率最大化!
📌 考虑 CPU、内存、节点健康状态等因素,智能分配 Pod。

举个例子:
🔸 如果有 3 台服务器,A 负载 90%、B 负载 10%、C 负载 50%,K8s 会优先选择 B 服务器 部署新 Pod。

💡 3️⃣ Controller Manager(kube-controller-manager)—— K8s 的 “管理者”

作用:
📌 负责 监控集群状态,确保所有对象(Pod、Service、Node)始终符合期望状态!
📌 由多个控制器组成,每个控制器负责不同的任务👇

🔹 Node Controller 👉 监控节点状态,宕机时自动剔除!
🔹 Replication Controller 👉 负责 Pod 副本数量,确保高可用!
🔹 Endpoint Controller 👉 处理 Service 与 Pod 之间的绑定关系!
🔹 Job Controller 👉 管理任务(Job),如定时任务执行!

举个例子:
🔸 你希望某个应用始终保持 3 个副本,如果有 1 个 Pod 挂了,Replication Controller 发现后会 自动创建新 Pod 来补上!

💡 4️⃣ ETCD —— K8s 的 “数据库”

作用:
📌 Kubernetes 最核心的数据存储,保存所有集群状态信息!
📌 采用 分布式 Key-Value 存储,保证高可用。

举个例子:
🔸 你部署的所有 Pod、Service、ConfigMap 等信息,都会存储在 ETCD 里,一旦某个组件宕机,K8s 还能快速恢复!

总结:K8s Master 组件如何协同工作?

1️⃣ API Server 👉 接收请求,转发到相关组件。
2️⃣ Scheduler 👉 负责 Pod 调度,决定在哪台机器运行。
3️⃣ Controller Manager 👉 负责 监控状态,确保集群符合预期。
4️⃣ ETCD 👉 作为数据库,存储所有 Kubernetes 资源信息。

Master 组件 各司其职、协同作战,共同保证 K8s 集群的稳定运行!


网站公告

今日签到

点亮在社区的每一天
去签到