This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.6.2. 估算 OpenShift Container Platform 节点可以容纳的 pod 数量
作为集群管理员,您可以使用集群容量工具来查看可以调度的 pod 数,以便在资源耗尽前增加当前的资源,并确保以后的 pod 能被调度。此容量来自于集群中的节点主机,包括 CPU、内存和磁盘空间等。
6.2.1. 了解 OpenShift Container Platform 集群容量工具 复制链接链接已复制到粘贴板!
集群容量工具模拟一系列调度决策,以确定在资源耗尽前集群中可以调度多少个输入 pod 实例,从而提供更加准确的估算。
因为它不计算节点间分布的所有资源,所以它所显示的剩余可分配容量是粗略估算值。它只分析剩余的资源,并通过估算集群中可以调度多少个具有给定要求的 pod 实例来估测仍可被消耗的可用容量。
另外,根据选择和关联性条件,可能仅支持将 pod 调度到特定的节点集合。因此,可能很难估算集群还能调度多少个 pod。
您可以从命令行中以单机实用程序的方式来运行集群容量分析工具,也可以作为 OpenShift Container Platform 集群里 pod 中的一个作业来运行。以 pod 内作业的方式运行时,可以将它运行多次而无需干预。
6.2.2. 在命令行中运行集群容量工具 复制链接链接已复制到粘贴板!
您可以从命令行运行 OpenShift Container Platform 集群容量工具,以估算可以调度到集群的 pod 数量。
先决条件
- 下载并安装 cluster-capacity 工具。
创建一个
Pod
spec 文件示例,工具将使用该文件来估算资源用量。podspec
以limits
或requests
的形式指定资源要求。集群容量工具在估算分析时会考虑 pod 的资源要求。Pod
spec 输入的示例如下:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
流程
在命令行中运行该工具:
运行以下命令:
./cluster-capacity --kubeconfig <path-to-kubeconfig> \ --podspec <path-to-pod-spec>
$ ./cluster-capacity --kubeconfig <path-to-kubeconfig> \
1 --podspec <path-to-pod-spec>
2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您还可以添加
--verbose
选项,以输出集群的各个节点上可以调度多少个 pod 的详细描述:./cluster-capacity --kubeconfig <path-to-kubeconfig> \ --podspec <path-to-pod-spec> --verbose
$ ./cluster-capacity --kubeconfig <path-to-kubeconfig> \ --podspec <path-to-pod-spec> --verbose
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查看输出结果,其类似于以下示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在上例中,集群中估计可以调度的 pod 数量是 52。
6.2.3. 以 pod 中作业的方式运行集群容量工具 复制链接链接已复制到粘贴板!
若以 pod 中作业的方式运行集群容量工具,其优点是可以在无需用户干预的前提下多次运行。以作业方式运行集群容量工具涉及使用 ConfigMap
对象。
先决条件
下载并安装 集群容量工具。
流程
运行集群容量工具:
创建集群角色:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建服务帐户:
oc create sa cluster-capacity-sa
$ oc create sa cluster-capacity-sa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将角色添加到服务帐户:
oc adm policy add-cluster-role-to-user cluster-capacity-role \ system:serviceaccount:default:cluster-capacity-sa
$ oc adm policy add-cluster-role-to-user cluster-capacity-role \ system:serviceaccount:default:cluster-capacity-sa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 定义并创建
Pod
规格:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 集群容量分析使用名为
cluster-capacity-configmap
的ConfigMap
对象挂载到卷中,从而将输入 pod 规格文件pod.yaml
挂载到卷test-volume
的路径/test-pod
上。如果还没有创建
ConfigMap
对象,请在创建作业前创建:oc create configmap cluster-capacity-configmap \ --from-file=pod.yaml=pod.yaml
$ oc create configmap cluster-capacity-configmap \ --from-file=pod.yaml=pod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下作业规格文件示例创建作业:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 必要的环境变量,使集群容量工具知道它将作为一个 pod 在集群中运行。
ConfigMap
对象的pod.yaml
键与Pod
spec 文件名称相同,但这不是必须的。如果这样做,输入 pod 规格文件可作为/test-pod/pod.yaml
在 pod 中被访问。
以 pod 中作业的方式运行集群容量镜像:
oc create -f cluster-capacity-job.yaml
$ oc create -f cluster-capacity-job.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查作业日志,以查找在集群中可调度的 pod 数量:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow