K8s常用组件学习笔记Kubernetes简称K8s是开源的容器编排平台核心架构采用主从架构控制平面工作节点所有组件协同实现容器的自动部署、调度、扩缩容、自愈及运维管理。本文整理K8s生产环境核心常用组件涵盖架构核心组件、核心资源对象、必备附加组件包含组件作用、核心特性、工作原理及使用场景适合入门学习与实操复盘。一、K8s整体架构概述K8s集群分为两大核心层级组件各司其职、解耦协作控制平面Master节点集群“大脑”负责全局调度、资源管理、状态监控、指令下发不承载业务负载保障集群稳定运行。工作平面Node节点集群“执行端”负责运行具体的容器业务、执行控制平面下发的指令处理实际业务流量。二、控制平面核心组件Master核心控制平面组件仅部署在Master节点高可用集群多副本部署是集群管理的核心所有组件通过APIServer交互数据。1. kube-apiserverAPI服务核心定位K8s集群的唯一入口、网关所有组件交互的核心枢纽。核心作用提供RESTful API接口接收用户、其他组件的所有操作请求创建/删除/更新资源统一完成请求的认证、授权、准入控制拦截非法操作所有组件控制器、调度器、kubelet均通过APIServer读写数据不直接交互支持水平扩展是集群唯一可横向扩容的控制平面组件。核心特性无状态组件、高可用、请求限流、资源校验是集群最核心的基础组件。2. etcd分布式键值存储核心定位K8s集群的“数据库”唯一持久化存储组件。核心作用存储集群所有资源的状态数据、配置数据、元数据Node、Pod、Deployment、Service等所有资源信息。核心特性强一致性、高可用、分布式事务保证集群数据精准同步仅被kube-apiserver访问其他组件不直接操作etcd生产环境必须部署奇数节点3/5节点保障集群选举容错。3. kube-controller-manager控制器管理器核心定位集群状态“运维管家”负责持续监控集群资源驱动集群状态趋近用户期望状态。核心原理循环监控Watch资源实际状态对比用户定义的期望状态存在偏差则自动修复。内置常用控制器节点控制器监控Node节点状态节点故障时自动标记、驱逐Pod副本控制器保障Deployment/RS的Pod副本数始终符合配置期望端点控制器维护Service与后端Pod的映射关系Endpoints命名空间控制器管理命名空间生命周期清理删除命名空间下的所有资源。4. kube-scheduler调度器核心定位集群“资源分配官”负责新建Pod的节点调度决策。核心作用监听未绑定节点的新Pod根据集群节点资源使用率、亲和性、污点、资源配额等规则筛选最优Node节点将Pod调度到对应节点运行。调度流程预选过滤不符合条件节点→ 优选打分排序最优节点→ 绑定节点。5. cloud-controller-manager云控制器管理器核心定位云厂商资源与K8s集群的对接组件仅云环境集群使用。核心作用联动云厂商负载均衡、弹性网卡、云服务器等资源实现Service负载均衡、节点弹性伸缩等云原生能力。三、工作节点核心组件Node核心所有工作节点必须部署的组件负责执行业务容器运行、上报节点状态、处理网络流量是业务运行的基础。1. kubelet节点代理核心定位每个Node节点的“代理管家”节点级核心组件。核心作用与kube-apiserver通信接收控制平面下发的Pod创建、删除、更新指令管理节点上所有Pod的生命周期拉取镜像、启动容器、健康检查、重启异常容器定期上报节点、Pod的资源状态、运行状态到控制平面执行容器的资源配额限制CPU、内存。2. kube-proxy网络代理核心定位集群网络流量转发组件保障集群内外、Pod之间网络通信。核心作用监听Service和Endpoints资源变化实时维护节点的路由规则、iptables/ipvs规则实现Service的负载均衡、流量转发支持Pod集群内互通、外部访问支持三种模式userspace老旧、iptables默认、ipvs高性能生产首选。3. 容器运行时Container Runtime核心定位容器运行的底层依赖负责真正启动、运行容器。常用类型Docker传统主流旧版本K8s默认containerd新版K8s默认轻量化、高性能CRI-O专用K8s容器运行时。核心作用镜像拉取、容器创建、启动、停止、销毁实现容器资源隔离。四、K8s核心资源组件常用业务资源K8s通过资源对象定义业务以下为日常开发、运维最常用的核心资源组件。1. Pod最小调度单元K8s最小的资源调度单元一个Pod包含一个或多个紧密耦合的容器共享网络、存储、命名空间资源。核心特性短暂性可随时重建、最小部署单元、不直接管理通过控制器调度。2. Deployment无状态应用控制器最常用核心控制器用于管理无状态应用Nginx、后端服务等。核心能力副本管理、滚动更新、版本回退、自动扩缩容、故障自愈。底层依赖通过ReplicaSet副本集间接管理Pod记录版本历史支持迭代更新。3. StatefulSet有状态应用控制器专门管理有状态应用MySQL、Redis、Zookeeper等。核心特性Pod名称固定、有序部署/销毁、稳定网络标识、持久化存储独立绑定Pod重建后数据不丢失。4. DaemonSet节点守护控制器确保集群每个符合条件的节点运行一个Pod副本。使用场景节点监控、日志收集ELK、网络插件、安全代理等全局节点级服务。5. Service服务暴露与负载均衡为一组Pod提供统一访问入口解决Pod动态变化导致的访问不稳定问题。常用类型ClusterIP默认集群内部访问仅内网互通NodePort节点端口暴露外网可通过节点IP端口访问LoadBalancer云环境专属对接云负载均衡公网统一入口。6. Ingress七层路由网关统一管理HTTP/HTTPS七层流量实现域名路由、路径转发、SSL证书配置、限流熔断。优势替代大量NodePort统一入口、规范域名管理、节省端口资源生产环境必备。7. ConfigMap/Secret配置与密钥管理ConfigMap存储非敏感配置配置文件、环境变量、脚本明文存储Secret存储敏感数据密码、密钥、令牌、证书Base64加密存储保障数据安全。核心作用配置与容器解耦无需重新打包镜像即可修改业务配置。五、集群必备附加组件生产刚需1. CoreDNS集群DNS服务集群核心域名解析组件默认部署在集群内。核心作用实现Service、Pod的域名解析支持集群内部服务通过域名互通替代传统IP访问适配Pod动态变化特性。2. Metrics-Server监控指标采集集群资源指标采集组件替代老旧Heapster。核心作用采集节点、Pod的CPU、内存、磁盘资源使用率为kubectl top、HPA自动扩缩容提供数据支撑。3. Ingress-NginxIngress实现组件Ingress的具体实现控制器通过Nginx实现七层流量转发是生产环境最常用的入口网关组件。4. PrometheusGrafana监控可视化生产环境标准监控组件Prometheus负责采集集群、组件、业务指标Grafana负责可视化展示、配置告警实现集群全维度监控运维。六、核心学习总结控制平面管全局、无业务负载APIServer入口、etcd存数据、控制器控状态、调度器分资源工作节点执行业务、跑容器kubelet管Pod、kube-proxy管网络、运行时启容器业务资源Deployment跑无状态、StatefulSet跑有状态、Service管访问、Ingress管路由附加组件DNS保障通信、Metrics支撑运维、监控保障集群稳定。