This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.2.10. ノードセレクターの使用による特定ノードへの Pod の配置
ノードセレクター は、キーと値のペアのマップを指定します。ルールは、ノード上のカスタムラベルと Pod で指定されたセレクターを使用して定義されます。
Pod がノードで実行する要件を満たすには、Pod はノードのラベルとして示されるキーと値のペアを持っている必要があります。
同じ Pod 設定でノードのアフィニティーとノードセレクターを使用している場合、以下の重要な考慮事項を参照してください。
2.10.1. ノードセレクターの使用による Pod 配置の制御
Pod でノードセレクターを使用し、ノードでラベルを使用して、Pod がスケジュールされる場所を制御できます。ノードセレクターにより、OpenShift Container Platform は一致するラベルが含まれるノード上に Pod をスケジュールします。
ラベルをノード、マシンセット、またはマシン設定に追加します。マシンセットにラベルを追加すると、ノードまたはマシンが停止した場合に、新規ノードにそのラベルが追加されます。ノードまたはマシン設定に追加されるラベルは、ノードまたはマシンが停止すると維持されません。
					ノードセレクターを既存 Pod に追加するには、ノードセレクターを ReplicaSet オブジェクト、DaemonSet オブジェクト、StatefulSet オブジェクト、Deployment オブジェクト、または DeploymentConfig オブジェクトなどの Pod の制御オブジェクトに追加します。制御オブジェクト下の既存 Pod は、一致するラベルを持つノードで再作成されます。新規 Pod を作成する場合、ノードセレクターを Pod 仕様に直接追加できます。Pod に制御オブジェクトがない場合は、Pod を削除し、Pod 仕様を編集して、Pod を再作成する必要があります。
				
ノードセレクターを既存のスケジュールされている Pod に直接追加することはできません。
前提条件
						ノードセレクターを既存 Pod に追加するには、Pod の制御オブジェクトを判別します。たとえば、router-default-66d5cf9464-m2g75 Pod は router-default-66d5cf9464 レプリカセットによって制御されます。
					
oc describe pod router-default-66d5cf9464-7pwkc
$ oc describe pod router-default-66d5cf9464-7pwkc出力例
					Web コンソールでは、Pod YAML の  ownerReferences に制御オブジェクトをリスト表示します。
				
手順
- マシンセットを使用するか、ノードを直接編集してラベルをノードに追加します。 - MachineSetオブジェクトを使用して、ノードの作成時にマシンセットによって管理されるノードにラベルを追加します。- 以下のコマンドを実行してラベルを - MachineSetオブジェクトに追加します。- oc patch MachineSet <name> --type='json' -p='[{"op":"add","path":"/spec/template/spec/metadata/labels", "value":{"<key>"="<value>","<key>"="<value>"}}]' -n openshift-machine-api- $ oc patch MachineSet <name> --type='json' -p='[{"op":"add","path":"/spec/template/spec/metadata/labels", "value":{"<key>"="<value>","<key>"="<value>"}}]' -n openshift-machine-api- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 以下に例を示します。 - oc patch MachineSet abc612-msrtw-worker-us-east-1c --type='json' -p='[{"op":"add","path":"/spec/template/spec/metadata/labels", "value":{"type":"user-node","region":"east"}}]' -n openshift-machine-api- $ oc patch MachineSet abc612-msrtw-worker-us-east-1c --type='json' -p='[{"op":"add","path":"/spec/template/spec/metadata/labels", "value":{"type":"user-node","region":"east"}}]' -n openshift-machine-api- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow ヒント- あるいは、以下の YAML を適用してマシンセットにラベルを追加することもできます。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- oc editコマンドを使用して、ラベルが- MachineSetオブジェクトに追加されていることを確認します。- 以下に例を示します。 - oc edit MachineSet abc612-msrtw-worker-us-east-1c -n openshift-machine-api - $ oc edit MachineSet abc612-msrtw-worker-us-east-1c -n openshift-machine-api- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - MachineSetオブジェクトの例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- ラベルをノードに直接追加します。 - ノードの - Nodeオブジェクトを編集します。- oc label nodes <name> <key>=<value> - $ oc label nodes <name> <key>=<value>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - たとえば、ノードにラベルを付けるには、以下を実行します。 - oc label nodes ip-10-0-142-25.ec2.internal type=user-node region=east - $ oc label nodes ip-10-0-142-25.ec2.internal type=user-node region=east- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow ヒント- あるいは、以下の YAML を適用してノードにラベルを追加することもできます。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ラベルがノードに追加されていることを確認します。 - oc get nodes -l type=user-node,region=east - $ oc get nodes -l type=user-node,region=east- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - NAME STATUS ROLES AGE VERSION ip-10-0-142-25.ec2.internal Ready worker 17m v1.23.0 - NAME STATUS ROLES AGE VERSION ip-10-0-142-25.ec2.internal Ready worker 17m v1.23.0- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
 
- 一致するノードセレクターを Pod に追加します。 - ノードセレクターを既存 Pod および新規 Pod に追加するには、ノードセレクターを Pod の制御オブジェクトに追加します。 - ラベルを含む - ReplicaSetオブジェクトのサンプル- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- ノードセレクターを追加します。
 
- ノードセレクターを特定の新規 Pod に追加するには、セレクターを - Podオブジェクトに直接追加します。- ノードセレクターを持つ - Podオブジェクトの例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注記- ノードセレクターを既存のスケジュールされている Pod に直接追加することはできません。