付録C Red Hat OpenShift ノードへのラベルとテイントの適用
制御 Pod を専用の Red Hat OpenShift ノードで実行するには、指定したノードに適切なラベルとテイントを設定する必要があります。
この例では、ラベル aap_node_type=control の worker ロールを持つ Red Hat OpenShift ノードの 1 つを選択します。
実行中のラベルを付けるいずれかのノードの名前を取得します。
oc get nodes
$ oc get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
リストからノードを選択し、その名前をメモします (
worker1など)。 aap_node_type=controlラベルをノードに適用します。oc label node <node-name> aap_node_type=control
$ oc label node <node-name> aap_node_type=controlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記<node-name>は、ラベル付けするノードの名前に置き換えます。次のように、ラベルの作成を確認します。
oc get nodes --show-labels | grep <node-name>
$ oc get nodes --show-labels | grep <node-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ラベルを作成したら、次のステップとして、すでにラベルを作成したワーカーノードに
NoScheduleテイントを追加します。次のコマンドは、ノードに
NoScheduleテイントを追加します。oc adm taint nodes <node-name> dedicated=AutomationController:NoSchedule
oc adm taint nodes <node-name> dedicated=AutomationController:NoScheduleCopy to Clipboard Copied! Toggle word wrap Toggle overflow dedicated: これは、テイントのキー (テイントの識別用に提供される任意の文字列) です。AutomationController: これはテイントに与えられる任意の値です。NoSchedule: これは、このテイントを許容しない Pod がこのノードにスケジュールされないように指定するテイントの動作です。このテイントをノードに適用することで、テイントを許容する特定のタイプのワークロード用にこのノードを予約するように Kubernetes スケジューラーに指示します。この場合、dedicated=AutomationController toleration を使用してワークロード用にノードを予約しています。
テイントが適用されたことを確認します。
oc get nodes \ -o jsonpath='{range.items[*]}{@.metadata.name}{"\t"}{@.spec.taints[*].key}:{@.spec.taints[*].value}{"\n"}{end}' \ | grep AutomationController$ oc get nodes \ -o jsonpath='{range.items[*]}{@.metadata.name}{"\t"}{@.spec.taints[*].key}:{@.spec.taints[*].value}{"\n"}{end}' \ | grep AutomationControllerCopy to Clipboard Copied! Toggle word wrap Toggle overflow