Kubernetes 计算资源配置与 ConfigMaps 使用指南
1. 计算资源配置
在 Kubernetes 中,节点上可调度的 Pod 数量受到节点可分配容量的限制,每个节点上 Pod 的数量上限为 110 个。例如,将 RC(Replication Controller)扩展到 400 个 Pod 时,RC 会扩展到 400 个副本且不会报错,但实际上 400 个 Pod 无法在三个节点上运行,这不仅受限于每个节点的 Pod 数量限制,还受限于可分配的 CPU 和内存。无法运行的 Pod 会处于 Pending 状态,且不会分配节点给它们。当将 RC 缩回到五个副本时,处于 Pending 状态的 Pod 不会立即被移除,但会列出五个正在运行的 Pod。若将 RC 扩展到 10 个副本,只有 7 个 Pod 会处于 Running 状态,其余则为 Pending 状态。
另外,资源限制可能会出现过度使用的情况。例如,在一个节点上,当分配的请求消耗了 90% 的可分配 CPU 时,最多可调度三个 Pod,而内存限制达到 300%,这就导致了限制过度使用。如果所有 Pod 同时请求其最大可分配内存,资源消耗将超过 100%,一些 Pod 会终止。即使节点上只有一个 Pod,内存限制也会过度使用,达到 109%。
为了给非 Pod 进程(如系统进程)预留资源,可以运行一个占位 Pod。创建一个名为 pod-reserve-resource.yaml 的 Pod 定义文件,运行 Docker 镜像 gcr.io/google_containers/pause ,并指定要预留的资源限制,如 CPU 为 200m,内存为
超级会员免费看
订阅专栏 解锁全文
34

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



