为关键附加组件 Pod 保证调度
Kubernetes 核心组件(例如 API 服务器、调度器和控制器管理器)在控制平面节点上运行。但是,附加组件必须在常规集群节点上运行。其中一些附加组件对功能齐全的集群至关重要,例如 metrics-server、DNS 和 UI。如果关键附加组件被驱逐(手动或作为升级等其他操作的副作用)并变为挂起状态(例如,当集群高度利用且存在其他挂起的 Pod 调度到被驱逐的关键附加组件 Pod 空出的空间中,或者由于某些其他原因导致节点上的可用资源量发生变化),则集群可能会停止正常工作。
请注意,将 Pod 标记为关键并不意味着完全阻止驱逐;它只是防止 Pod 永久不可用。标记为关键的静态 Pod 无法被驱逐。但是,标记为关键的非静态 Pod 始终会被重新调度。
将 Pod 标记为关键
要将 Pod 标记为关键,请将该 Pod 的 priorityClassName 设置为 system-cluster-critical
或 system-node-critical
。 system-node-critical
是可用的最高优先级,甚至高于 system-cluster-critical
。
上次修改时间:太平洋标准时间 2023 年 7 月 13 日下午 7:55:guaranteed-scheduling-critical-addon-pods.md 的语法修复 (04173f92d3)