4.8.2. ノードに割り当てられるリソースの設定
OpenShift Container Platform は、割り当てに使用する CPU および メモリーリソースタイプをサポートします。管理者が一時ストレージのテクノロジープレビューを有効にしている場合、ephemeral-resource
リソースタイプもサポートされます。cpu
タイプについては、リソースの数量が、200m
、0.5
、または 1
のようにコア単位で指定されます。memory
および ephemeral-storage
の場合、200Ki
、50Mi
、または 5Gi
などのバイト単位で指定されます。
管理者として、(cpu=200m,memory=512Mi などの) <resource_type>=<resource_quantity>
ペアのセットを使い、カスタムリソース (CR) を使用してこれらを設定することができます。
前提条件
--system-reserved
および--kube-reserved
の設定を決定しやすくするには、ノード要約 API を使用して対応するノードのリソース使用状況をイントロスペクトできます。この API は/api/v1/nodes/<node>/proxy/stats/summary
からアクセスできます。ノードについて以下のコマンドを入力します。$ oc get --raw /api/v1/nodes/<node>/proxy/stats/summary
たとえば、
cluster.node22
ノードからリソースにアクセスするには、以下の手順を入力できます。$ oc get --raw /api/v1/nodes/cluster.node22/proxy/stats/summary { "node": { "nodeName": "cluster.node22", "systemContainers": [ { "cpu": { "usageCoreNanoSeconds": 929684480915, "usageNanoCores": 190998084 }, "memory": { "rssBytes": 176726016, "usageBytes": 1397895168, "workingSetBytes": 1050509312 }, "name": "kubelet" }, { "cpu": { "usageCoreNanoSeconds": 128521955903, "usageNanoCores": 5928600 }, "memory": { "rssBytes": 35958784, "usageBytes": 129671168, "workingSetBytes": 102416384 }, "name": "runtime" } ] } }
設定するノードタイプの静的な
MachineConfigPool
CRD に関連付けられたラベルを取得します。以下のいずれかの手順を実行します。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
の下に表示されます。
ラベルが存在しない場合は、キー/値のペアを追加します。
$ oc label machineconfigpool worker custom-kubelet=small-pods
手順
設定変更のためのカスタムリソース (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: 500m memory: 512Mi kubeReserved: cpu: 500m memory: 512Mi