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)。

相关推荐
张忠琳12 小时前
【NVIDIA】 NVIDIA Container Toolkit v1.19.1 — OCI 模块超深度分析之三
云原生·容器·架构·kubernetes·nvidia
Elastic 中国社区官方博客14 小时前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
大数据·人工智能·elasticsearch·搜索引擎·容器·kubernetes·grafana
风曦Kisaki16 小时前
#企业级docker私有仓库构建:harbor仓库与阿里云镜像仓库
阿里云·docker·容器
期待着201317 小时前
docker 安装 ,在centos7.9
运维·docker·容器
骑上单车去旅行19 小时前
Docker Compose 命令完全指南:从构建到运维
docker·容器·eureka
前端Baymax20 小时前
K8s PodCrashLoopBackOff假阳性排查
云原生·容器·kubernetes
spider_xcxc20 小时前
K8s 部署学习笔记
docker·容器·kubernetes·云计算·k8s
阿标在干嘛1 天前
从物理机到K8s:政策快报平台的容器化部署实践
云原生·容器·kubernetes
IT瑞先生1 天前
docker-compose下快速部署实操——持续更新...
运维·docker·容器
张青贤1 天前
Centos7离线部署K8s集群V1.28.8
云原生·容器·kubernetes·containerd·kubekey·离线部署