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-config
ConfigMap
オブジェクトを作成している。 -
OpenShift CLI (
oc
) がインストールされている。
手順
cluster-monitoring-config
config 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 を
Subscription
CR に追加する必要があります。以下に例を示します。
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 を使用する場合は、
VerticalPodAutoscalerController
CR に 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 はコントロールプレーンノードにデプロイされなくなりました。以下の出力例では、ノードはコントロールプレーンノードではなく、infra ノードになっています。
出力例
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 を
Subscription
CR に追加する必要があります。以下に例を示します。
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 を使用する場合は、
ClusterResourceOverride
CR に 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