k8s的控制平面是什么,有什么作用

K8s 控制平面(通俗+面试版)

控制平面 = K8s 集群的「管理中枢/大脑」 ,负责整个集群的调度、管控、状态维护;与之对应的是节点(Node),也就是真正跑业务容器的「干活节点」。

整个集群分为两大块:控制平面(Master) + 数据平面(Node)


一、整体分工

  1. 控制平面(Master 节点)
    不跑你的业务 Pod,只做集群管理、调度、控状态
  2. 数据平面(Worker 节点)
    运行业务容器、接收流量、处理业务请求。

二、控制平面 5 个核心组件(必考,逐个记)

一套标准 K8s 控制平面由 5 个核心进程组成,默认都跑在 Master 节点上:

1. kube-apiserver(唯一入口)

  • 集群所有操作的唯一入口,所有人/组件想操作集群都先找它。
  • 负责:认证、鉴权、数据校验、请求转发。
  • 所有组件只和 apiserver 通信,组件之间不直接互访。
  • 示例:kubectl get pods → 命令先发给 apiserver。

2. etcd(集群数据库)

  • K8s 唯一持久化存储,保存集群所有资源数据:Pod、Deployment、Service、配置、状态等。
  • 键值型数据库,集群所有状态全存在这里。
  • 特点:强一致性、高可用,一般部署集群版。

3. kube-scheduler(调度器)

  • 专门负责把新 Pod 挑选一个合适的 Node 节点去运行。
  • 调度分两步:
    1. 预选:过滤掉不符合条件的节点(资源不足、污点、亲和性不匹配等)
    2. 优选:对剩余节点打分,选分数最高的节点绑定 Pod

4. kube-controller-manager(控制器管理器)

  • 内部包含多种控制器,持续对比「期望状态」和「实际状态」,不断调优至一致。
  • 常见控制器:
    • 副本控制器:保证 Deployment 维持指定副本数
    • 节点控制器:监控节点是否宕机
    • 命名空间、PVC、Service 控制器等
  • 简单理解:死磕"现状 = 期望"

5. cloud-controller-manager(可选,云厂商专用)

  • 对接公有云(阿里云/腾讯云/AWS 等)API。
  • 实现云资源联动:比如创建 LoadBalancer 类型 Service 时,自动在云上创建负载均衡。
  • 自建物理机/Minikube 一般不用。

三、工作流程举例(帮你串起来理解)

kubectl apply -f deployment.yaml 为例:

  1. 你执行命令 → 请求发给 kube-apiserver
  2. apiserver 校验合法 → 把数据写入 etcd
  3. kube-scheduler 发现有未调度的 Pod → 选一个最优 Node
  4. kube-controller-manager 持续监听,保证副本数量符合配置
  5. 对应 Node 上的 kubelet 监听到变化 → 拉镜像、启动容器

四、补充概念

  1. 高可用控制平面

    生产环境不会只单台 Master,一般部署 3 台 Master 做集群,实现控制平面高可用,一台挂了集群照样能用。

  2. Minikube 里的控制平面

    Minikube 是单节点集群 ,控制平面组件 + 业务容器全部跑在同一台虚拟机里,不分独立 Master/Worker。

  3. 和 Node 组件区分(别搞混)

    下面这两个不属于控制平面,是 Node 上的组件:

    • kubelet:每个节点代理,管理本机 Pod、探针、生命周期
    • kube-proxy:维护 Service 网络规则

五、面试精简回答(直接背诵)

K8s 控制平面就是集群的管理大脑,由 kube-apiserveretcdkube-schedulerkube-controller-manager 等组件组成。

主要负责集群认证、数据存储、Pod 调度、状态管控,不运行业务容器;真正跑业务的是工作节点(Node)。

相关推荐
无级程序员3 小时前
clklog地域分析中的地名中英文对照问题解决
kubernetes
加加and减减6 小时前
Docker真实安装mysql8教程并优化配置
运维·mysql·docker·容器
qiuziqiqi8 小时前
ocker-compose.yml 和Dockerfile 区别
运维·docker·容器
杰克逊的日记8 小时前
如何在不影响业务的情况下对K8S集群升级
云原生·容器·kubernetes
逻极9 小时前
Kubernetes 从入门到精通:云原生容器编排
kubernetes·k8s·服务发现·容器编排
极客先躯10 小时前
高级java每日一道面试题-2026年02月03日-实战篇[Docker]-如何备份和恢复 Docker Volume?
运维·docker·容器·自动化·备份·持久化·恢复
江湖有缘10 小时前
自建私有任务管理平台|Docker Compose部署Ticky完整教程
运维·docker·容器
子牙老师10 小时前
你管这破玩意叫ChatGPT?
云原生·chatgpt·容器
梦想的颜色10 小时前
Docker 知识全貌:一份体系化的知识结构报告
docker·云原生·容器·eureka