5.11. 为集群中的节点分配特定 CPU

使用静态 CPU Manager 策略时,您可以保留特定的 CPU,供集群中的特定节点使用。例如,在具有 24 个 CPU 的系统中,您可以为 control plane 保留编号为 0-3 的 CPU,允许计算节点使用 CPU 4 到 23。

5.11.1. 为节点保留 CPU

要明确定义为特定节点保留的 CPU 列表,请创建一个 KubeletConfig 自定义资源(CR)来定义 reservedSystemCPUs 参数。此列表替代了使用 systemReservedkubeReserved 参数可能保留的 CPU。

流程

  1. 为您要配置的节点类型获取与机器配置池(MCP)关联的标签:

    $ oc describe machineconfigpool <name>

    例如:

    $ oc describe machineconfigpool worker

    输出示例

    Name:         worker
    Namespace:
    Labels:       machineconfiguration.openshift.io/mco-built-in=
                  pools.operator.machineconfiguration.openshift.io/worker= 1
    Annotations:  <none>
    API Version:  machineconfiguration.openshift.io/v1
    Kind:         MachineConfigPool
    ...

    1
    获取 MCP 标签。
  2. KubeletConfig CR 创建 YAML 文件:

    apiVersion: machineconfiguration.openshift.io/v1
    kind: KubeletConfig
    metadata:
      name: set-reserved-cpus 1
    spec:
      kubeletConfig:
        reservedSystemCPUs: "0,1,2,3" 2
      machineConfigPoolSelector:
        matchLabels:
          pools.operator.machineconfiguration.openshift.io/worker: "" 3
    1
    为 CR 指定一个名称。
    2
    为与 MCP 关联的节点指定您要保留的 CPU 的内核 ID。
    3
    指定来自 MCP 的标签。
  3. 创建 CR 对象:

    $ oc create -f <file_name>.yaml

其他资源