Kubernetes 资源管理与伸缩全解析
1. 污点与驱逐机制
在 Kubernetes 中,除了手动添加污点来影响调度,还有强大的基于污点的驱逐机制。当节点因磁盘故障等原因变得不健康时,该机制可将节点上的 Pod 重新调度到集群中的其他健康节点。
2. Pod 资源管理
在 Kubernetes 中管理应用程序时,合理管理 Pod 资源至关重要。这主要包括管理 CPU 和内存,以优化集群的整体利用率,可在容器级别和命名空间级别进行管理。目前,Kubernetes 还无法为网络和存储等资源设置请求和限制。
为了让调度器优化资源并做出智能的放置决策,需要在 Pod 规范中定义应用程序的资源需求。例如,若容器至少需要 2GB 内存才能运行,就应在 Pod 规范中明确这一点。
2.1 资源请求
Kubernetes 资源请求定义了容器调度所需的 CPU 或内存量。若在 Pod 规范中指定容器需要 8GB 内存,而所有节点的内存都只有 7.5GB,那么该 Pod 将无法调度,会进入挂起状态,直到所需资源可用。
操作步骤如下:
- 确定集群中的可用资源:
kubectl top nodes
示例输出:
| NAME | CPU(cores) | CPU% | MEMORY(bytes) | MEMORY% |
| — | — | — | — | — |
| aks - nodepool1 - 14849087 - 0 | 524m | 27% |
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



