第8章 インフラストラクチャーノードへの Red Hat Quay のデプロイ
デフォルトで、quay関連のすべての Pod は OpenShift Container Platform クラスター内の利用可能なワーカーノードでスケジュールされます。一部の環境では、レジストリー、データベース、および Pod の監視など、インフラストラクチャーワークロード専用の特定のノード専用に割り当てて、パフォーマンスを改善し、重要なコンポーネントの分離やメンテナンスの簡素化が必要になる場合があります。
OpenShift Container Platform は、インフラストラクチャーマシンセットを使用したこのアプローチをサポートします。
OpenShift Container Platform 管理者は、ワーカーノードのラベル付けおよびテイントを使用して同じ結果を得ることができます。これにより、quay Pod などのインフラストラクチャーワークロードのみがこれらのノードでスケジュールされます。インフラストラクチャーノードを設定したら、ノードセレクターおよび容認を使用して quay Pod を実行する場所を制御できます。
以下の手順は、Red Hat Quay Operator を単一の namespace にインストールし、独自のバックエンドストレージを提供する新規のデプロイメントを対象としています。この手順では、ノードを準備し、専用のインフラストラクチャーノードに Red Hat Quay をデプロイする方法を説明します。この手順では、quay関連のすべての Pod が専用のインフラストラクチャーノードに配置されます。
8.1. インフラストラクチャー用ノードへのラベルとテインとの追加 リンクのコピーリンクがクリップボードにコピーされました!
次の手順を実行して、インフラストラクチャー用のノードにラベルとテインとを追加します。
以下の手順では、3 つのワーカーノードに infra ラベルを付けます。環境に関連するリソースによっては、3 つ以上のワーカーノードに infra ラベルを付ける必要がある場合があります。
次のコマンドを入力して、デプロイメント内の ワーカー ノードのリストを取得します。
oc get nodes | grep worker
$ oc get nodes | grep workerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
node-role.kubernetes.io/infra=ラベルをワーカーノードに追加します。必要なインフラストラクチャーノードの数は、環境によって異なります。実稼働環境では、すべてのquay関連のコンポーネントに対して高可用性と十分なリソースを確保するために、十分な infra ノードをプロビジョニングする必要があります。CPU、メモリー、およびストレージ使用率を監視して、追加のインフラノードが必要であるかどうかを判別します。oc label node --overwrite <infra_node_one> <infra_node_two> <infra_node_three> node-role.kubernetes.io/infra=
$ oc label node --overwrite <infra_node_one> <infra_node_two> <infra_node_three> node-role.kubernetes.io/infra=Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
node-role.kubernetes.io/infra=ラベルが適切なノードに追加されていることを確認します。oc get node | grep infra
$ oc get node | grep infraCopy to Clipboard Copied! Toggle word wrap Toggle overflow --- example-cluster-new-c5qqp-worker-b-4zxx5.c.quay-devel.internal Ready infra,worker 405d v1.32.8 example-cluster-new-c5qqp-worker-b-kz6jn.c.quay-devel.internal Ready infra,worker 406d v1.32.8 example-cluster-new-c5qqp-worker-b-wrhw4.c.quay-devel.internal Ready infra,worker 405d v1.32.8 ---
--- example-cluster-new-c5qqp-worker-b-4zxx5.c.quay-devel.internal Ready infra,worker 405d v1.32.8 example-cluster-new-c5qqp-worker-b-kz6jn.c.quay-devel.internal Ready infra,worker 406d v1.32.8 example-cluster-new-c5qqp-worker-b-wrhw4.c.quay-devel.internal Ready infra,worker 405d v1.32.8 ---Copy to Clipboard Copied! Toggle word wrap Toggle overflow ワーカーノードに
infraロールが割り当てられている場合、ユーザーのワークロードが誤ってインフラノードに割り当てられる可能性があります。これを回避するには、infra ノードにテイントを適用し、制御する Pod に容認を追加します。次のコマンドを入力して、ワーカーノードにinfraラベルを付けます。oc adm taint nodes -l node-role.kubernetes.io/infra \ node-role.kubernetes.io/infra=reserved:NoSchedule --overwrite
$ oc adm taint nodes -l node-role.kubernetes.io/infra \ node-role.kubernetes.io/infra=reserved:NoSchedule --overwriteCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
node/example-cluster-new-c5qqp-worker-b-4zxx5.c.quay-devel.internal modified node/example-cluster-new-c5qqp-worker-b-kz6jn.c.quay-devel.internal modified node/example-cluster-new-c5qqp-worker-b-wrhw4.c.quay-devel.internal modified
node/example-cluster-new-c5qqp-worker-b-4zxx5.c.quay-devel.internal modified node/example-cluster-new-c5qqp-worker-b-kz6jn.c.quay-devel.internal modified node/example-cluster-new-c5qqp-worker-b-wrhw4.c.quay-devel.internal modifiedCopy to Clipboard Copied! Toggle word wrap Toggle overflow