Show Table of Contents
Red Hat Training
A Red Hat training course is available for OpenShift Container Platform
2.11.2. 每个节点设置最大 pod
注意
在 /etc/origin/node/node-config.yaml 文件中,两个参数控制可以调度到节点的 pod 的最大数量:pod -per-core
和 max-pods
。当两个选项都被使用时,这两个选项中的较小的限制为节点上的 pod 数量。超过这些值可导致:
- OpenShift Container Platform 和 Docker 的 CPU 使用率增加。
- 减慢 pod 调度的速度。
- 潜在的内存不足情况(取决于节点中的内存量)。
- 耗尽 IP 地址池。
- 资源过量使用,导致用户应用程序性能变差。
注意
在 Kubernetes 中,包含单个容器的 pod 实际使用两个容器。第二个容器用来在实际容器启动前设置联网。因此,运行 10 个 pod 的系统实际上会运行 20 个容器。
pods-per-core
根据节点上的处理器内核数来设置节点可运行的 pod 数量。例如,如果将 一个有 4 个处理器内核的节点上的 pod-per-core
设置为 10
,则该节点上允许的最大 pod 数量为 40。
kubeletArguments: pods-per-core: - "10"
注意
将 pods-per-core
设置为 0 可禁用这个限制。
max-pods
将节点可以运行的 pod 数量设置为固定值,而不考虑节点的属性。集群限制 记录 max-pods
的最大支持值。
kubeletArguments: max-pods: - "250"
使用上例时,pod -per-core
的默认值为 10
,max-pods
的默认值为 250
。这意味着,除非节点有 25 个或更多内核,否则 pod-per-core
默认是限制因素。