5.6.3. コンピュートマシンセットを使用した taint および toleration の追加
コンピュートマシンセットを使用して taint をノードに追加できます。MachineSet オブジェクトに関連付けられるすべてのノードが taint で更新されます。toleration は、ノードに直接追加された taint と同様に、コンピュートマシンセットによって追加される taint に応答します。
手順
Pod仕様をtolerationsスタンザを含めるように編集して、toleration を Pod に追加します。Equal演算子を含む Pod 設定ファイルのサンプルapiVersion: v1 kind: Pod metadata: name: my-pod #... spec: tolerations: - key: "key1"1 value: "value1" operator: "Equal" effect: "NoExecute" tolerationSeconds: 36002 #...- 1
- taint および toleration コンポーネント の表で説明されている toleration パラメーターです。
- 2
tolerationSecondsパラメーターは、退避する前に Pod をどの程度の期間ノードにバインドさせるかを指定します。以下に例を示します。
Exists演算子を含む Pod 設定ファイルのサンプルapiVersion: v1 kind: Pod metadata: name: my-pod #... spec: tolerations: - key: "key1" operator: "Exists" effect: "NoExecute" tolerationSeconds: 3600 #...
taint を
MachineSetオブジェクトに追加します。taint を付けるノードの
MachineSetYAML を編集するか、新規MachineSetオブジェクトを作成できます。$ oc edit machineset <machineset>taint を
spec.template.specセクションに追加します。コンピュートマシンセット仕様の taint の例
apiVersion: machine.openshift.io/v1beta1 kind: MachineSet metadata: name: my-machineset #... spec: #... template: #... spec: taints: - effect: NoExecute key: key1 value: value1 #...この例では、キー
key1、値value1、および taint effectNoExecuteを持つ taint をノードに配置します。コンピュートマシンセットを 0 にスケールダウンします。
$ oc scale --replicas=0 machineset <machineset> -n openshift-machine-apiヒントまたは、以下の YAML を適用してコンピュートマシンセットをスケーリングすることもできます。
apiVersion: machine.openshift.io/v1beta1 kind: MachineSet metadata: name: <machineset> namespace: openshift-machine-api spec: replicas: 0マシンが削除されるまで待機します。
コンピュートマシンセットを随時スケールアップします。
$ oc scale --replicas=2 machineset <machineset> -n openshift-machine-apiまたは、以下を実行します。
$ oc edit machineset <machineset> -n openshift-machine-apiマシンが起動するまで待ちます。taint は
MachineSetオブジェクトに関連付けられたノードに追加されます。