Kubernetes相关的名词解释Worker(12)
什么是worker节点
有master自然就有被master管理的worker,Kubernetes 中的 Worker 节点(也称为 Node 或 Minion)是集群中实际运行工作负载(容器化应用)的机器。它们负责执行由 Master 节点分配的任务,并提供计算、存储和网络资源。
Worker 节点的主要作用
-
运行 Pod:Worker 节点是 Pod(Kubernetes 的最小调度单元)的实际运行环境。
-
提供资源:为容器提供 CPU、内存、存储和网络资源。
-
汇报状态:定期向 Master 节点汇报自身状态(如资源使用情况、Pod 运行状态等)。
-
执行指令:接收来自 Master 节点的指令(如创建/删除 Pod)。
Worker 节点上部署的组件
组件 | 作用 |
---|---|
kubelet | 负责与 Master 节点通信,管理节点上的 Pod 生命周期(如启动/停止容器)。 |
kube-proxy | 维护节点上的网络规则(如 Service 的负载均衡、iptables/IPVS 规则)。 |
容器运行时(如 Docker、containerd、CRI-O) | 实际运行容器的引擎。 |
可选组件 | 如 CSI 插件(存储)、CNI 插件(网络)、监控代理(Prometheus Node Exporter)等。 |
操作 Worker 节点的角色
-
管理员:负责节点的初始化、维护、升级和故障修复(如安装 kubelet、配置网络、调整资源)。
-
普通用户:通常通过 Kubernetes API(如
kubectl
)提交工作负载(Deployment、Job 等),无权直接操作 Worker 节点(除非有特殊权限)。
Master 调度 Worker 的流程
当用户提交一个 Pod 定义(如通过 kubectl apply
)时,调度流程如下:
-
用户提交请求
-
用户通过
kubectl
或 API 提交 Pod 配置到 Master 节点的 API Server。
-
-
调度决策
-
Scheduler 监听 API Server,发现未调度的 Pod。
-
Scheduler 根据 Pod 的资源需求(CPU/Memory)、节点亲和性(Affinity)、污点(Taint)等策略,选择一个合适的 Worker 节点。
-
-
绑定节点
-
Scheduler 将 Pod 与目标 Worker 节点绑定(更新 Pod 的
nodeName
字段)。
-
-
kubelet 接管
-
目标 Worker 节点的 kubelet 监听到绑定事件,通过 容器运行时 启动 Pod 中的容器。
-
kubelet 持续监控 Pod 状态并上报给 Master。
-
-
kube-proxy 配置网络
-
如果 Pod 属于 Service,kube-proxy 会更新节点的网络规则(如 iptables/IPVS),确保流量正确路由。
-
可参照下图加强理解: