摘要:

Kubernetes(简称 K8s)是一个开源的容器化应用编排与集群管理平台,专门用来管理一堆装着应用的容器。它会自动把应用放到合适的机器上运行,机器挂了就自动迁移、应用崩了就自动重启、流量大了就自动多开几个副本,还能统一管理配置、网络、存储和安全。不管你用的是本地服务器还是云服务器,K8s 都能让分布式应用稳定运行、轻松维护,是现在企业部署和管理微服务最主流的平台。

组件及工具:

Kubernetes 组件按角色分为控制面组件(Control Plane)工作节点组件(Node Components)附加工具与扩展组件,各组件协同实现集群的全生命周期管理:

一、控制面组件(集群 “大脑”,负责全局决策)
  1. kube-apiserver

    • 核心作用:集群的统一入口,所有组件(kubectl、kubelet、控制器等)都通过它与 etcd 交互,提供 RESTful API 接口,负责认证、授权、准入控制和 API 路由转发。
    • 特点:无状态、可水平扩展,是集群所有操作的 “网关”。
  2. etcd

    • 核心作用:分布式键值存储,持久化存储集群所有元数据(如 Pod、Service、Namespace 定义与状态),保证数据强一致性和高可用。
    • 特点:采用 Raft 协议实现分布式一致性,是集群状态的唯一可信来源。
  3. kube-scheduler

    • 核心作用:负责将新创建的、未绑定节点的 Pod 调度到合适的工作节点,调度时综合考虑资源需求、节点亲和 / 反亲和、污点容忍、资源利用率等策略。
    • 特点:无状态,可多实例部署,通过抢占式选举保证高可用。
  4. kube-controller-manager

    • 核心作用:运行一系列控制器(Controller),如 ReplicaSet、Deployment、Node、Endpoint 等控制器,持续监控集群状态,确保实际状态与期望状态一致。
    • 特点:每个控制器负责一类资源的自动化管理,如 ReplicaSet 控制器保证 Pod 副本数符合预期。
  5. cloud-controller-manager(可选)

    • 核心作用:对接云厂商服务(如云存储、负载均衡、虚拟机),将云厂商能力与 K8s 集成,实现云资源的自动化管理(如自动创建云盘 PV、负载均衡 Service)。
    • 特点:与云厂商强相关,本地集群通常不部署。

二、工作节点组件(集群 “工人”,负责运行应用)
  1. kubelet

    • 核心作用:每个节点上的代理,负责管理本节点的所有 Pod,与控制面通信,接收 Pod 调度指令,创建 / 销毁容器,监控容器健康状态并上报。
    • 特点:是节点与控制面的 “桥梁”,必须在所有节点上运行。
  2. kube-proxy

    • 核心作用:维护节点上的网络规则,实现 Service 的负载均衡和服务发现,通过 iptables 或 IPVS 模式转发流量,确保 Pod 能通过 Service 访问到对应后端。
    • 特点:每个节点上运行,保证集群内网络可达性。
  3. 容器运行时(Container Runtime)

    • 核心作用:负责容器的生命周期管理(创建、启动、停止、删除),如拉取镜像、管理容器资源隔离。
    • 常用实现:containerd(主流)、CRI-O、Docker(已逐步被 containerd 替代)。

三、增强集群能力的附加工具与扩展组件
  1. kubectl

    • 核心作用:K8s 命令行工具,通过 API Server 与集群交互,支持资源创建、更新、删除、查看、调试等操作,是运维人员最常用的工具。
  2. CoreDNS

    • 核心作用:集群默认的 DNS 服务,为 Pod 提供域名解析(如 Service 域名解析到对应 ClusterIP),实现服务发现。


 

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐