Menu Close

5.10.3. ノードのリソースの手動割り当て

OpenShift Container Platform は、割り当てに使用する CPU および メモリーリソースタイプをサポートします。ephemeral-resource リソースタイプもサポートされます。cpu タイプについては、リソースの数量が、200m0.5、または 1 のようにコア単位で指定されます。memory および ephemeral-storage の場合、200Ki50Mi、または 5Gi などのバイト単位で指定されます。

管理者として、( cpu=200m,memory =512Mi などの)<resource_type>=<resource_quantity> ペアのセットを使い、カスタムリソース(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
      ヒント

      あるいは、以下の YAML を適用してラベルを追加できます。

      apiVersion: machineconfiguration.openshift.io/v1
      kind: MachineConfigPool
      metadata:
        labels:
          custom-kubelet: small-pods
        name: worker

手順

  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: 3
          cpu: 1000m
          memory: 1Gi

    1
    CR に名前を割り当てます。
    2
    Machine Config Pool からラベルを指定します。
    3
    ノードコンポーネントおよびシステムコンポーネント用に予約するリソースを指定します。