工作程序节点资源保留量
了解工作节点资源预留情况,有助于您规划集群容量并排查 Pod 调度问题。
IBM Cloud Kubernetes Service 会设置计算资源保留量,用于限制每个工作程序节点上的可用计算资源。 预留的内存、CPU 资源和进程 ID(PID)无法被工作节点上的 Pod 使用,这会减少每个工作节点上可分配的资源。 最初部署 pod 时,如果工作程序节点没有足够的可分配资源,部署会失败。 此外,如果 Pod 超出了工作节点对内存和 CPU 的资源限制,这些 Pod 将会被驱逐。 在 Kubernetes 中,该限制被称为 “硬驱逐阈值”。 对于超过 PID 限制的 pod,这些 pod 会收到尽可能多的可分配 PID,但不会根据 PID 驱逐它们。
何时检查资源储备
在以下情况下检查工作节点资源预留情况:
- 规划集群容量并确定所需的 worker 节点数量
- 排查 Pod 调度失败或驱逐问题
- 计算工作负载的可用资源
- 确定是否需要为集群添加更多工作节点
如果可用的 PID、CPU 或内存少于工作节点预留的数量,Kubernetes 将开始驱逐 Pod,以恢复足够的计算资源和 PID。 如果有其他工作程序节点可用,那么 pod 会重新安排到该工作程序节点上。 如果您的 Pod 频繁被驱逐,请向集群中添加更多工作节点,或者为 Pod 设置 资源限制。
了解资源储备等级
在您的工作节点上预留的资源取决于该工作节点自带的 PID 数量、CPU 核心数和内存容量。《 IBM Cloud Kubernetes Service 》中定义了 PID、CPU 和内存的各级别,如下表所示。 如果您的工作节点配备了多层级的计算资源,则每个层级都会预留一定比例的 PID、CPU 和内存资源。
群集还有进程 ID (PID) 保留和限制,以防止 pod 使用过多的 PID,或确保 kubelet 和其他 IBM Cloud Kubernetes Service 系统组件有足够的 PID。 如果达到 PID 保留或限制,Kubernetes 不会创建或分配新的 PID,直到有足够的进程被移除以释放现有 PID。 工作节点上的 PID 总量大约相当于工作节点上每 GB 内存 8,000 个 PID。 例如,一个拥有 16 GB 内存的工作节点大约有
128,000 个 PID (16 × 8,000 = 128,000)。
要查看您的工作节点当前使用了多少计算资源,请运行 kubectl top node。
| 内存层 | 保留的 % 或保留量 | b3c.4x16 工作节点(16 GB)示例 |
mg1c.28x256 工作程序节点 (256 GB) 示例 |
|---|---|---|---|
| 前 4 GB (0 - 4 GB) | 25% 的内存 | 1 GB | 1 GB |
| 接下来 4 GB (5 - 8 GB) | 20% 的内存 | 0.8 GB | 0.8 GB |
| 接下来 8 GB (9 - 16 GB) | 10% 的内存 | 0.8 GB | 0.8 GB |
| 接下来 112 GB (17 - 128 GB) | 6% 的内存 | 不适用 | 6.72 GB |
| 剩余 GB (129 GB+) | 2% 的内存 | 不适用 | 2.54 GB |
kubelet 驱逐 的额外储备金 |
100 MB | 100 MB(固定量) | 100 MB(固定量) |
| 总保留量 | (变化) | 2.7 GB,共 16 GB | 11.96 GB,共 256 GB |
| CPU 层 | 保留的 % 或保留量 | b3c.4x16 工作节点(四核)示例 |
mg1c.28x256 工作程序节点(28 个核心)示例 |
|---|---|---|---|
| 第 1 个核心(核心 1) | 6% 的核心 | 0.06 的核心 | 0.06 的核心 |
| 接下来 2 个核心(核心 2 - 3) | 1% 的核心 | 0.02 的核心 | 0.02 的核心 |
| 接下来 2 个核心(核心 4 - 5) | 0.5% 的核心 | 0.005 的核心 | 0.01 的核心 |
| 剩余核心(核心 6 及更多核心) | 0.25% 的核心 | 不适用 | 0.0575 的核心 |
| 总保留量 | (变化) | 0.085 个核心,共 4 个核心 | 0.1475 个核心,共 28 个核心 |
| PID 总数 | 保留的 % | 可用于吊舱的百分比 |
|---|---|---|
| < 200,000 | 20% PID | 35% PID |
| 200,000 - 499,999 | 10% PID | 40% PID |
| ≥ 500,000 | 5% PID | 45% PID |
b3c.4x16 工人节点:126 878 个 PID |
25 376 个 PID (20%) | 44,407 个 Pids (35%) |
mg1c.28x256 工人节点:2 062 400 个 PID |
103 120 个 PID (5%) | 928 085 个 PID (45%) |
| 基础架构提供者 | 磁盘 | 预留磁盘百分比 |
|---|---|---|
| 经典 | 辅助磁盘 | 10% |
| VPC | 引导磁盘 | 10% |
工人节点值样本仅供参考。 实际使用情况可能略有不同。