网站首页 > 文章精选 正文
Kubernetes 的组件可分为控制平面(Master)组件、节点(Node)组件和附加组件,协同工作以管理容器化应用。以下是详细分类和功能说明:
一、控制平面(Master)组件
控制平面负责集群的全局决策和状态管理,通常部署在 Master 节点上。
- API Server(kube-apiserver)
O 作用:集群的入口,处理所有 REST 请求,验证并更新数据到 etcd。
O 特点:无状态,可水平扩展,通过负载均衡对外提供服务。
- Scheduler(kube-scheduler)
O 作用:将 Pod 调度到合适的 Node,基于资源需求、亲和性策略等条件。
O 流程:监听未调度的 Pod,选择最佳节点(不负责实际启动 Pod)。
- Controller Manager(kube-controller-manager)
O 作用:运行核心控制循环,确保集群状态与期望一致。
O 包含控制器:
Node Controller(监控节点状态)
Replication Controller(维护 Pod 副本数)
Deployment Controller(管理滚动更新)
Service Controller(处理负载均衡配置)等。
4.etcd
O 作用:分布式键值存储,保存集群配置和状态数据。
O 特点:高可用性需集群化部署,是 Kubernetes 的“唯一数据源”。
二、节点(Node)组件
每个工作节点(Worker)运行以下组件,负责容器生命周期和网络。
- kubelet
O 作用:与 API Server 通信,管理节点上的 Pod 及容器。
O 功能:执行 PodSpec 描述的任务,监控容器健康状态,汇报节点资源。
- kube-proxy
O 作用:维护节点网络规则(如 iptables/IPVS),实现 Service 的负载均衡和流量转发。
O 支持模式:userspace(旧)、iptables(默认)、IPVS(高性能)。
- 容器运行时(Container Runtime)
O 作用:拉取镜像、启停容器(如 Docker、containerd、CRI-O)。
O 接口规范:遵循 CRI(Container Runtime Interface)。
三、附加组件(Add-ons)
非核心但常用,扩展集群功能。
- CoreDNS
O 作用:集群内 DNS 服务器,解析 Service 和 Pod 的域名。
- Ingress Controller
O 作用:管理外部访问(如 Nginx、Traefik),路由 HTTP(S) 流量到 Service。
- CNI 网络插件
O 作用:实现 Pod 网络通信(如 Calico、Flannel、Cilium),分配 IP 地址。
- Metrics Server
O 作用:收集资源使用指标,供 HPA(自动扩缩容)和 kubectl top 使用。
- Dashboard
O 作用:提供 Web UI 管理集群(需额外部署)。
- CSI(Container Storage Interface)
O 作用:标准化动态存储卷管理(如 AWS EBS、Google Persistent Disk)。
四、交互流程示例
- 用户通过 kubectl 或 API 请求创建 Deployment。
- API Server 验证请求并写入 etcd。
- Controller Manager 检测到新对象,创建 ReplicaSet 确保 Pod 副本数。
- Scheduler 为未调度的 Pod 选择节点,更新 etcd。
- 目标节点的 kubelet 创建 Pod,容器运行时启动容器。
- kube-proxy 配置网络规则,Service 流量被正确路由。
五、高可用(HA)设计
- etcd 集群:至少 3 节点,通过 Raft 协议保证数据一致性。
- 多 Master 节点:API Server 无状态可扩展,Scheduler 和 Controller Manager 通过 Leader 选举避免冲突。
- 负载均衡:前置负载均衡器(如 HAProxy)分发 API Server 流量。
Kubernetes 的模块化设计使其灵活且可扩展,各组件通过 API Server 协同,确保集群状态始终向期望状态收敛。理解组件职责是运维和故障排查的基础。
猜你喜欢
- 2025-04-23 Kubernetes原理深度解析:万字图文全总结!
- 2025-04-23 一站式速查知识总结,助您轻松驾驭容器编排技术(水平扩展控制)
- 2025-04-23 kubectl常用删除命令
- 2025-04-23 Devops实践之minikube部署:单机环境使用k8s
- 2025-04-23 K8S架构原理详解(图文全面总结)
- 2025-04-23 Kubernetes Kube-Proxy 组件 IPVS 模式工作原理及常用故障排查
- 2025-04-23 K8s核心组件解析:一文读懂它们的作用
- 2025-04-23 k8s service 负载均衡:proxy mode介绍
- 2025-04-23 一起学云原生(3)k8s基础知识总结
- 2025-04-23 k8s基础知识之基础组件
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)