5.8.2. 为节点配置分配的资源

OpenShift Container Platform 支持对 CPU 和内存资源类型执行分配。ephemeral-resource 资源类型也被支持。对于 cpu 类型,资源数量以内核数为单位来指定,例如 200m0.51。对于 memoryephemeral-storage,则以字节数为单位来指定,例如 200Ki50Mi5Gi

作为管理员,您可以通过一组 <resource _type>=<resource_quantity> 对(如 cpu=200m,memory=512Mi)来使用自定义资源(CR)进行设置。

有关推荐的 system-reserved 值的详情,请参考 推荐的 system-reserved 值

先决条件

  1. 为您要配置的节点类型获取与静态 MachineConfigPool CRD 关联的标签。执行以下步骤之一:

    1. 查看 Machine Config Pool:

      $ oc describe machineconfigpool <name>

      例如:

      $ oc describe machineconfigpool worker

      输出示例

      apiVersion: machineconfiguration.openshift.io/v1
      kind: MachineConfigPool
      metadata:
        creationTimestamp: 2019-02-08T14:52:39Z
        generation: 1
        labels:
          custom-kubelet: small-pods 1

      1
      如果添加了标签,它会出现在 labels 下。
    2. 如果标签不存在,则添加一个键/值对:

      $ oc label machineconfigpool worker custom-kubelet=small-pods

流程

  1. 为配置更改创建自定义资源 (CR)。

    资源分配 CR 的示例配置

    apiVersion: machineconfiguration.openshift.io/v1
    kind: KubeletConfig
    metadata:
      name: set-allocatable 1
    spec:
      machineConfigPoolSelector:
        matchLabels:
          custom-kubelet: small-pods 2
      kubeletConfig:
        systemReserved:
          cpu: 1000m
          memory: 1Gi

    1
    为 CR 分配一个名称。
    2
    指定来自机器配置池的标签。