组件职责API Server集群操作的唯一入口,RESTful API 处理,权限校验,数据持久化到 etcdetcd分布式键值存储,生存集群所有状态数据(如 Pod、Service 配置)Scheduler根据资源需求和束缚,将 Pod 调度到符合 NodeController Manager运行控制器逻辑(如 Node Controller、Deployment Controller) 2. Node 节点焦点组件
组件职责Kubelet管理 Pod 生命周期,与容器运行时(如 Docker)交互,上报节点状态Kube-proxy维护节点网络规则(如 iptables/IPVS),实现 Service 的负载均衡Container Runtime运行容器的底层软件(如 Docker、Containerd) 3. 哀求从 kubectl 到 APIServer 的流程
用户实行 kubectl apply -f pod.yaml
kubectl 将 YAML 转换为 JSON 发送给 APIServer
APIServer 验证哀求权限并写入 etcd
Scheduler 检测到未绑定的 Pod,选择符合 Node
Kubelet 监听到 Pod 绑定事件,拉取镜像并启动容器
三、Pod 与工作负载
1. Pod 的生命周期状态
状态触发条件PendingPod 已被 APIServer 接受,但未调度或镜像下载中RunningPod 已绑定到 Node,至少一个容器正在运行Succeeded所有容器正常退出(退出码为 0)Failed至少一个容器异常退出(非零退出码)Unknown无法获取 Pod 状态(通常因 Node 失联) 2. Deployment vs StatefulSet
特性DeploymentStatefulSet适用场景无状态应用(如 Web 服务)有状态应用(如 MySQL、ZooKeeper)网络标识随机 Pod 名称与 IP稳定的 Pod 名称(如 web-0)和 DNS 记录存储暂时存储或共享 Volume持久化 Volume(每个 Pod 独立 PV)扩缩容次序无序次序扩缩(从索引 0 到 N-1) 3. 怎样包管应用高可用?