4.3. ノードの管理
OpenShift Container Platform は、KubeletConfig Custom Resource を使ってノードの設定を管理します。KubeletConfig のインスタンスを作成すると、管理対象の MachineConfig がノードの設定を上書きするように作成されます。
リモートマシンにログインして設定を変更する方法はサポートされていません。
4.3.1. ノードの変更
クラスターまたは MachinePool の設定を変更するには、クラスターリソース定義 (CRD、Cluster Resource Definition) または KubeletConfig インスタンスを作成する必要があります。OpenShift Container Platform は、Machine Config Controller を使って、変更をクラスターに適用している CRD を介して導入された変更を監視します。
手順
設定する必要のあるノードタイプの静的な CRD、Machine Config Pool に関連付けられたラベルを取得します。以下のいずれかの手順を実行します。
必要な machineconfigpool の現在のラベルをチェックします。
例:
$ oc get machineconfigpool --show-labels NAME CONFIG UPDATED UPDATING DEGRADED LABELS master rendered-master-e05b81f5ca4db1d249a1bf32f9ec24fd True False False operator.machineconfiguration.openshift.io/required-for-upgrade= worker rendered-worker-f50e78e1bc06d8e82327763145bfcf62 True False False
必要な machineconfigpool にカスタムラベルを追加します。
例:
$ oc label machineconfigpool worker custom-kubelet=enabled
設定の変更用に KubeletConfig カスタムリソース(CR) を作成します。
例:
custom-config CR の設定例
apiVersion: machineconfiguration.openshift.io/v1 kind: KubeletConfig metadata: name: custom-config 1 spec: machineConfigPoolSelector: matchLabels: custom-kubelet: enabled 2 kubeletConfig: 3 podsPerCore: 10 maxPods: 250 systemReserved: cpu: 1000m memory: 500Mi kubeReserved: cpu: 1000m memory: 500Mi
CR オブジェクトを作成します。
$ oc create -f <file-name>
以下は例になります。
$ oc create -f master-kube-config.yaml
ほとんどの KubeletConfig オプションはユーザーが設定できます。以下のオプションは上書きが許可されていません。
- CgroupDriver
- ClusterDNS
- ClusterDomain
- RuntimeRequestTimeout
- StaticPodPath