6.12.4. ノードのリソースの手動割り当て
OpenShift Container Platform は、割り当てに使用する CPU およびメモリーリソースタイプをサポートします。ephemeral-resource リソースタイプもサポートされています。cpu タイプの場合、リソース数量をコア単位で指定します (例: 200m、0.5、1)。memory および ephemeral-storage の場合、リソース数量をバイト単位で指定します (例: 200Ki、50Mi、5Gi)。デフォルトでは、system-reserved CPU は 500m で、system-reserved メモリーは 1Gi です。
管理者は、kubelet config カスタムリソース (CR) を使用して、一連の <resource_type>=<resource_quantity> ペア (例: cpu=200m,memory=512Mi) を設定できます。
-
推奨される
system-reserved値の詳細は、推奨される system-reserved 値 を参照してください。 - リソース値を手動で設定するには、kubelet config CR を使用する必要があります。machine config CR は使用できません。
前提条件
次のコマンドを入力して、設定するノードタイプの静的な
MachineConfigPoolCRD に関連付けられたラベルを取得します。$ oc edit machineconfigpool <name>以下に例を示します。
$ oc edit machineconfigpool worker出力例
apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfigPool metadata: creationTimestamp: "2022-11-16T15:34:25Z" generation: 4 labels: pools.operator.machineconfiguration.openshift.io/worker: ""1 name: worker #...- 1
- Labels の下にラベルが表示されます。ヒント
ラベルが存在しない場合は、次のようなキー/値のペアを追加します。
$ oc label machineconfigpool worker custom-kubelet=small-pods
手順
設定変更のためのカスタムリソース (CR) を作成します。
リソース割り当て CR の設定例
apiVersion: machineconfiguration.openshift.io/v1 kind: KubeletConfig metadata: name: set-allocatable1 spec: machineConfigPoolSelector: matchLabels: pools.operator.machineconfiguration.openshift.io/worker: ""2 kubeletConfig: systemReserved:3 cpu: 1000m memory: 1Gi #...以下のコマンドを実行して CR を作成します。
$ oc create -f <file_name>.yaml