5.5. 性能优化
您可以修改 OpenShift Virtualization 部署的某些配置,以提高效率、成本效益和可靠性。
5.5.1. 为虚拟机配置完整的物理内核 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
作为集群管理员,您可以为特定虚拟机(VM)分配完整的物理内核,而不是允许不同的虚拟机共享相同的物理内核。将您的虚拟机配置为使用完整的物理内核可以优化高吞吐量或延迟虚拟机的性能。
在启用了多线程(SMT)的系统中只分配完整的物理内核非常重要,因为它具有以下优点:
- 防止邻居和资源争用
- 降低性能下降
- 提供可预测的延迟
- 保证专用 CPU 资源
您可以通过修改 KubeletConfig 自定义资源(CR)中的 cpuManagerPolicy 和 cpuManagerPolicyOptions 设置来配置完整的物理内核分配。
先决条件
- 有集群管理员对安装了 OpenShift Virtualization 的 OpenShift Container Platform 集群的访问权限。
-
已安装 OpenShift CLI(
oc)。 - 您已在虚拟机运行的节点上启用了 CPU Manager。
流程
编辑
KubeletConfigCR,以添加所需的cpuManagerPolicy和cpuManagerPolicyOptions配置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
您必须设置
cpuManagerPolicy: 静态策略来启用专用 CPU 分配。此设置是配置cpuManagerPolicyOptions设置的先决条件。 -
您必须设置
full-pcpus-only: true策略选项,以便静态 CPU Manager 策略只分配完整的物理内核。 -
您必须通过在
kubeReserved设置中设置cpu: "1"来为系统保留 1 个 CPU。这样可确保集群保持稳定,要求系统的核心功能始终能够访问它们正常工作的 CPU。
-
您必须设置
运行以下命令,将更改应用到
KubeletConfigCR:oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
运行以下命令并检查输出,在您应用更改的节点上检查 kubelet 配置:
oc debug node/<node_name> -- chroot /host cat /etc/kubernetes/kubelet.conf | grep -E -A 2 'cpuManagerPolicy|kubeReserved'
$ oc debug node/<node_name> -- chroot /host cat /etc/kubernetes/kubelet.conf | grep -E -A 2 'cpuManagerPolicy|kubeReserved'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow