8.4. インフラストラクチャーマシンセットへのリソースの移動
インフラストラクチャーリソースの一部はデフォルトでクラスターにデプロイされます。次のように、インフラストラクチャーノードセレクターを追加して、作成したインフラストラクチャーマシンセットにそれらを移動できます。
- 1
- 適切な値が設定されたnodeSelectorパラメーターを、移動する必要のあるコンポーネントに追加します。表示されている形式のnodeSelectorを使用することも、ノードに指定された値に基づいて<key>: <value>ペアを使用することもできます。インフラストラクチャーノードに taint を追加した場合は、一致する toleration も追加します。
特定のノードセレクターをすべてのインフラストラクチャーコンポーネントに適用すると、OpenShift Container Platform は そのラベルを持つノードでそれらのワークロードをスケジュール します。
8.4.1. ルーターの移動
ルーター Pod を異なるコンピュートマシンセットにデプロイできます。デフォルトで、この Pod はワーカーノードにデプロイされます。
前提条件
- 追加のコンピュートマシンセットを OpenShift Container Platform クラスターに設定します。
手順
- ルーター Operator の - IngressControllerカスタムリソースを表示します。- oc get ingresscontroller default -n openshift-ingress-operator -o yaml - $ oc get ingresscontroller default -n openshift-ingress-operator -o yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - コマンド出力は以下のテキストのようになります。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ingresscontrollerリソースを編集し、- nodeSelectorを- infraラベルを使用するように変更します。- oc edit ingresscontroller default -n openshift-ingress-operator - $ oc edit ingresscontroller default -n openshift-ingress-operator- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 適切な値が設定されたnodeSelectorパラメーターを、移動する必要のあるコンポーネントに追加します。上記の形式でnodeSelectorパラメーターを使用することも、ノードに指定された値に基づいて<key>: <value>ペアを使用することもできます。インフラストラクチャーノードに taint を追加した場合は、一致する toleration も追加します。
 
- ルーター Pod が - infraノードで実行されていることを確認します。- ルーター Pod のリストを表示し、実行中の Pod のノード名をメモします。 - oc get pod -n openshift-ingress -o wide - $ oc get pod -n openshift-ingress -o wide- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES router-default-86798b4b5d-bdlvd 1/1 Running 0 28s 10.130.2.4 ip-10-0-217-226.ec2.internal <none> <none> router-default-955d875f4-255g8 0/1 Terminating 0 19h 10.129.2.4 ip-10-0-148-172.ec2.internal <none> <none> - NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES router-default-86798b4b5d-bdlvd 1/1 Running 0 28s 10.130.2.4 ip-10-0-217-226.ec2.internal <none> <none> router-default-955d875f4-255g8 0/1 Terminating 0 19h 10.129.2.4 ip-10-0-148-172.ec2.internal <none> <none>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - この例では、実行中の Pod は - ip-10-0-217-226.ec2.internalノードにあります。
- 実行中の Pod のノードのステータスを表示します。 - oc get node <node_name> - $ oc get node <node_name>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Pod のリストより取得した<node_name>を指定します。
 - 出力例 - NAME STATUS ROLES AGE VERSION ip-10-0-217-226.ec2.internal Ready infra,worker 17h v1.32.3 - NAME STATUS ROLES AGE VERSION ip-10-0-217-226.ec2.internal Ready infra,worker 17h v1.32.3- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - ロールのリストに - infraが含まれているため、Pod は正しいノードで実行されます。
 
8.4.2. デフォルトレジストリーの移行
レジストリー Operator を、その Pod を複数の異なるノードにデプロイするように設定します。
前提条件
- 追加のコンピュートマシンセットを OpenShift Container Platform クラスターに設定します。
手順
- config/instanceオブジェクトを表示します。- oc get configs.imageregistry.operator.openshift.io/cluster -o yaml - $ oc get configs.imageregistry.operator.openshift.io/cluster -o yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- config/instanceオブジェクトを編集します。- oc edit configs.imageregistry.operator.openshift.io/cluster - $ oc edit configs.imageregistry.operator.openshift.io/cluster- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 適切な値が設定されたnodeSelectorパラメーターを、移動する必要のあるコンポーネントに追加します。上記の形式でnodeSelectorパラメーターを使用することも、ノードに指定された値に基づいて<key>: <value>ペアを使用することもできます。インフラストラクチャーノードに taint を追加した場合は、一致する toleration も追加します。
 
- レジストリー Pod がインフラストラクチャーノードに移動していることを確認します。 - 以下のコマンドを実行して、レジストリー Pod が置かれているノードを特定します。 - oc get pods -o wide -n openshift-image-registry - $ oc get pods -o wide -n openshift-image-registry- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ノードに指定したラベルがあることを確認します。 - oc describe node <node_name> - $ oc describe node <node_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - コマンド出力を確認し、 - node-role.kubernetes.io/infraが- LABELSリストにあることを確認します。
 
8.4.3. モニタリングソリューションの移動
監視スタックには、Prometheus、Thanos Querier、Alertmanager などの複数のコンポーネントが含まれています。Cluster Monitoring Operator は、このスタックを管理します。モニタリングスタックをインフラストラクチャーノードに再デプロイするために、カスタム config map を作成して適用できます。
前提条件
- 
							cluster-adminクラスターロールを持つユーザーとしてクラスターにアクセスできる。
- 
							cluster-monitoring-configConfigMapオブジェクトを作成している。
- 
							OpenShift CLI (oc) がインストールされている。
手順
- cluster-monitoring-configconfig map を編集し、- nodeSelectorを変更して- infraラベルを使用します。- oc edit configmap cluster-monitoring-config -n openshift-monitoring - $ oc edit configmap cluster-monitoring-config -n openshift-monitoring- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 適切な値が設定されたnodeSelectorパラメーターを、移動する必要のあるコンポーネントに追加します。上記の形式でnodeSelectorパラメーターを使用することも、ノードに指定された値に基づいて<key>: <value>ペアを使用することもできます。インフラストラクチャーノードに taint を追加した場合は、一致する toleration も追加します。
 
- モニタリング Pod が新規マシンに移行することを確認します。 - watch 'oc get pod -n openshift-monitoring -o wide' - $ watch 'oc get pod -n openshift-monitoring -o wide'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- コンポーネントが - infraノードに移動していない場合は、このコンポーネントを持つ Pod を削除します。- oc delete pod -n openshift-monitoring <pod> - $ oc delete pod -n openshift-monitoring <pod>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 削除された Pod からのコンポーネントが - infraノードに再作成されます。
8.4.4. Vertical Pod Autoscaler Operator コンポーネントの移動
					Vertical Pod Autoscaler Operator (VPA) は、レコメンダー、アップデーター、アドミッションコントローラーの 3 つのコンポーネントで構成されます。Operator と各コンポーネントには、コントロールプレーンノードの VPA namespace に独自の Pod があります。VPA Operator およびコンポーネント Pod をインフラストラクチャーノードに移動するには、ノードセレクターを VPA サブスクリプションおよび VerticalPodAutoscalerController CR に追加します。
				
以下の例は、VPA Pod のコントロールプレーンノードへのデフォルトのデプロイメントを示しています。
出力例
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES vertical-pod-autoscaler-operator-6c75fcc9cd-5pb6z 1/1 Running 0 7m59s 10.128.2.24 c416-tfsbj-master-1 <none> <none> vpa-admission-plugin-default-6cb78d6f8b-rpcrj 1/1 Running 0 5m37s 10.129.2.22 c416-tfsbj-master-1 <none> <none> vpa-recommender-default-66846bd94c-dsmpp 1/1 Running 0 5m37s 10.129.2.20 c416-tfsbj-master-0 <none> <none> vpa-updater-default-db8b58df-2nkvf 1/1 Running 0 5m37s 10.129.2.21 c416-tfsbj-master-1 <none> <none>
NAME                                                READY   STATUS    RESTARTS   AGE     IP            NODE                  NOMINATED NODE   READINESS GATES
vertical-pod-autoscaler-operator-6c75fcc9cd-5pb6z   1/1     Running   0          7m59s   10.128.2.24   c416-tfsbj-master-1   <none>           <none>
vpa-admission-plugin-default-6cb78d6f8b-rpcrj       1/1     Running   0          5m37s   10.129.2.22   c416-tfsbj-master-1   <none>           <none>
vpa-recommender-default-66846bd94c-dsmpp            1/1     Running   0          5m37s   10.129.2.20   c416-tfsbj-master-0   <none>           <none>
vpa-updater-default-db8b58df-2nkvf                  1/1     Running   0          5m37s   10.129.2.21   c416-tfsbj-master-1   <none>           <none>手順
- VPA Operator の - サブスクリプションカスタムリソース (CR) にノードセレクターを追加して、VPA Operator Pod を移動します。- CR を編集します。 - oc edit Subscription vertical-pod-autoscaler -n openshift-vertical-pod-autoscaler - $ oc edit Subscription vertical-pod-autoscaler -n openshift-vertical-pod-autoscaler- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- infra ノードのノードロールラベルに一致するノードセレクターを追加します。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- infra ノードのノードロールを指定します。
 注記- infra ノードが taint を使用する場合は、toleration を - SubscriptionCR に追加する必要があります。- 以下に例を示します。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- infra ノードの taint の toleration を指定します。
 
 
- VerticalPodAutoscalerカスタムリソース (CR) にノードセレクターを追加して、各 VPA コンポーネントを移動します。- CR を編集します。 - oc edit VerticalPodAutoscalerController default -n openshift-vertical-pod-autoscaler - $ oc edit VerticalPodAutoscalerController default -n openshift-vertical-pod-autoscaler- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- infra ノードのノードロールラベルに一致するようにノードセレクターを追加します。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注記- ターゲットノードが taint を使用する場合は、 - VerticalPodAutoscalerControllerCR に toleration を追加する必要があります。- 以下に例を示します。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
検証
- 次のコマンドを使用して、Pod が移動したことを確認できます。 - oc get pods -n openshift-vertical-pod-autoscaler -o wide - $ oc get pods -n openshift-vertical-pod-autoscaler -o wide- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Pod はコントロールプレーンノードにデプロイされなくなりました。次の出力例では、ノードはコントロールプレーンノードではなく、インフラノードになっています。 - 出力例 - NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES vertical-pod-autoscaler-operator-6c75fcc9cd-5pb6z 1/1 Running 0 7m59s 10.128.2.24 c416-tfsbj-infra-eastus3-2bndt <none> <none> vpa-admission-plugin-default-6cb78d6f8b-rpcrj 1/1 Running 0 5m37s 10.129.2.22 c416-tfsbj-infra-eastus1-lrgj8 <none> <none> vpa-recommender-default-66846bd94c-dsmpp 1/1 Running 0 5m37s 10.129.2.20 c416-tfsbj-infra-eastus1-lrgj8 <none> <none> vpa-updater-default-db8b58df-2nkvf 1/1 Running 0 5m37s 10.129.2.21 c416-tfsbj-infra-eastus1-lrgj8 <none> <none> - NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES vertical-pod-autoscaler-operator-6c75fcc9cd-5pb6z 1/1 Running 0 7m59s 10.128.2.24 c416-tfsbj-infra-eastus3-2bndt <none> <none> vpa-admission-plugin-default-6cb78d6f8b-rpcrj 1/1 Running 0 5m37s 10.129.2.22 c416-tfsbj-infra-eastus1-lrgj8 <none> <none> vpa-recommender-default-66846bd94c-dsmpp 1/1 Running 0 5m37s 10.129.2.20 c416-tfsbj-infra-eastus1-lrgj8 <none> <none> vpa-updater-default-db8b58df-2nkvf 1/1 Running 0 5m37s 10.129.2.21 c416-tfsbj-infra-eastus1-lrgj8 <none> <none>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
8.4.5. Cluster Resource Override Operator Pod の移動
					デフォルトでは、Cluster Resource Override Operator のインストールプロセスにより、clusterresourceoverride-operator namespace のノードに Operator Pod と 2 つの Cluster Resource Override Pod が作成されます。必要に応じて、これらの Pod をインフラストラクチャーノードなどの他のノードに移動できます。
				
次の例は、Cluster Resource Override Operator Pod がコントロールプレーンノードにデプロイされ、Cluster Resource Override Operator Pod がワーカーノードにデプロイされていることを示しています。
Cluster Resource Override Pod の例
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES clusterresourceoverride-786b8c898c-9wrdq 1/1 Running 0 23s 10.128.2.32 ip-10-0-14-183.us-west-2.compute.internal <none> <none> clusterresourceoverride-786b8c898c-vn2lf 1/1 Running 0 26s 10.130.2.10 ip-10-0-20-140.us-west-2.compute.internal <none> <none> clusterresourceoverride-operator-6b8b8b656b-lvr62 1/1 Running 0 56m 10.131.0.33 ip-10-0-2-39.us-west-2.compute.internal <none> <none>
NAME                                                READY   STATUS    RESTARTS   AGE   IP            NODE                                        NOMINATED NODE   READINESS GATES
clusterresourceoverride-786b8c898c-9wrdq            1/1     Running   0          23s   10.128.2.32   ip-10-0-14-183.us-west-2.compute.internal   <none>           <none>
clusterresourceoverride-786b8c898c-vn2lf            1/1     Running   0          26s   10.130.2.10   ip-10-0-20-140.us-west-2.compute.internal   <none>           <none>
clusterresourceoverride-operator-6b8b8b656b-lvr62   1/1     Running   0          56m   10.131.0.33   ip-10-0-2-39.us-west-2.compute.internal     <none>           <none>ノードリストの例
手順
- Cluster Resource Override Operator の - Subscriptionカスタムリソース (CR) にノードセレクターを追加して、Cluster Resource Override Operator Pod を移動します。- CR を編集します。 - oc edit -n clusterresourceoverride-operator subscriptions.operators.coreos.com clusterresourceoverride - $ oc edit -n clusterresourceoverride-operator subscriptions.operators.coreos.com clusterresourceoverride- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Cluster Resource Override Operator Pod をインストールするノードのノードロールラベルと一致するノードセレクターを追加します。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Cluster Resource Override Operator Pod をデプロイするノードのロールを指定します。
 注記- infra ノードが taint を使用する場合は、toleration を - SubscriptionCR に追加する必要があります。- 以下に例を示します。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- infra ノードの taint の toleration を指定します。
 
 
- ClusterResourceOverrideカスタムリソース (CR) にノードセレクターを追加して、Cluster Resource Override Pod を移動します。- CR を編集します。 - oc edit ClusterResourceOverride cluster -n clusterresourceoverride-operator - $ oc edit ClusterResourceOverride cluster -n clusterresourceoverride-operator- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- infra ノードのノードロールラベルに一致するノードセレクターを追加します。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注記- インフラノードが taint を使用する場合は、 - ClusterResourceOverrideCR に toleration を追加する必要があります。- 以下に例を示します。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- infra ノードの taint の toleration を指定します。
 
 
検証
- 次のコマンドを使用して、Pod が移動したことを確認できます。 - oc get pods -n clusterresourceoverride-operator -o wide - $ oc get pods -n clusterresourceoverride-operator -o wide- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - クラスターリソースオーバーライド Pod がインフラノードにデプロイされました。 - 出力例 - NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES clusterresourceoverride-786b8c898c-9wrdq 1/1 Running 0 23s 10.127.2.25 ip-10-0-23-244.us-west-2.compute.internal <none> <none> clusterresourceoverride-786b8c898c-vn2lf 1/1 Running 0 26s 10.128.0.80 ip-10-0-24-233.us-west-2.compute.internal <none> <none> clusterresourceoverride-operator-6b8b8b656b-lvr62 1/1 Running 0 56m 10.129.0.71 ip-10-0-67-453.us-west-2.compute.internal <none> <none> - NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES clusterresourceoverride-786b8c898c-9wrdq 1/1 Running 0 23s 10.127.2.25 ip-10-0-23-244.us-west-2.compute.internal <none> <none> clusterresourceoverride-786b8c898c-vn2lf 1/1 Running 0 26s 10.128.0.80 ip-10-0-24-233.us-west-2.compute.internal <none> <none> clusterresourceoverride-operator-6b8b8b656b-lvr62 1/1 Running 0 56m 10.129.0.71 ip-10-0-67-453.us-west-2.compute.internal <none> <none>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow