4.4. 非ベアメタルエージェントマシンへの Hosted Control Plane のデプロイ
クラスターをホスティングクラスターとして機能するように設定することで、Hosted Control Plane をデプロイできます。ホスティングクラスターは、コントロールプレーンがホストされる OpenShift Container Platform クラスターです。ホスティングクラスターは管理クラスターとも呼ばれます。
非ベアメタルエージェントマシン上の Hosted Control Plane は、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
管理クラスターは、マネージド クラスターとは異なります。マネージドクラスターは、ハブクラスターが管理するクラスターです。
Hosted Control Plane 機能はデフォルトで有効になっています。
multicluster engine Operator は、デフォルトの local-cluster マネージドハブクラスターのみをサポートしています。Red Hat Advanced Cluster Management (RHACM) 2.10 では、local-cluster マネージドハブクラスターをホスティングクラスターとして使用できます。
ホステッドクラスター は、ホスティングクラスターでホストされる API エンドポイントとコントロールプレーンを含む OpenShift Container Platform クラスターです。ホステッドクラスターには、コントロールプレーンとそれに対応するデータプレーンが含まれます。ホステッドクラスターは、multicluster engine Operator コンソールまたは hcp コマンドラインインターフェイス (CLI) を使用して作成できます。
ホステッドクラスターは、マネージドクラスターとして自動的にインポートされます。この自動インポート機能を無効にする場合は、「multicluster engine Operator へのホステッドクラスターの自動インポートの無効化」を参照してください。
4.4.1. 非ベアメタルエージェントマシンへの Hosted Control Plane のデプロイの準備 リンクのコピーリンクがクリップボードにコピーされました!
ベアメタルに Hosted Control Plane をデプロイする準備をする際には、次の情報を考慮してください。
- Agent プラットフォームを使用すると、エージェントマシンをワーカーノードとしてホステッドクラスターに追加できます。エージェントマシンは、Discovery Image でブートされ、OpenShift Container Platform ノードとしてプロビジョニングされる準備ができているホストを表します。Agent プラットフォームは、Central Infrastructure Management サービスの一部です。詳細は、Central Infrastructure Management サービスの有効化 を参照してください。
- ベアメタルではないすべてのホストは、Central Infrastructure Management が提供する検出イメージ ISO を使用して手動で起動する必要があります。
- ノードプールをスケールアップすると、レプリカごとにマシンが作成されます。Cluster API プロバイダーは、マシンごとに、承認済みで、検証に合格し、現在使用されておらず、ノードプール仕様で指定されている要件を満たしているエージェントを検索してインストールします。エージェントのステータスと状態を確認することで、エージェントのインストールを監視できます。
- ノードプールをスケールダウンすると、エージェントは対応するクラスターからバインド解除されます。Agent を再利用するには、Discovery イメージを使用してエージェントを再起動する必要があります。
- Hosted Control Plane のストレージを設定する場合は、etcd の推奨プラクティスを考慮してください。レイテンシー要件を満たすには、各コントロールプレーンノードで実行されるすべての Hosted Control Plane の etcd インスタンス専用の高速ストレージデバイスを使用します。LVM ストレージを使用して、ホストされた etcd Pod のローカルストレージクラスを設定できます。詳細は、OpenShift Container Platform ドキュメントの「推奨される etcd プラクティス」および「論理ボリュームマネージャーストレージを使用した永続ストレージ」を参照してください。
4.4.1.1. 非ベアメタルエージェントマシンに Hosted Control Plane をデプロイするための前提条件 リンクのコピーリンクがクリップボードにコピーされました!
非ベアメタルエージェントマシンに Hosted Control Plane をデプロイする前に、次の前提条件を満たしていることを確認してください。
- OpenShift Container Platform クラスターに multicluster engine for Kubernetes Operator 2.5 以降がインストールされている。multicluster engine Operator は、OpenShift Container Platform ソフトウェアカタログから Operator としてインストールできます。
multicluster engine Operator のマネージド OpenShift Container Platform クラスターが少なくとも 1 つある。
local-cluster管理クラスターは自動的にインポートされます。local-clusterの詳細は、Red Hat Advanced Cluster Management ドキュメントの 詳細設定 を参照してください。次のコマンドを実行すると、管理クラスターのステータスを確認できます。$ oc get managedclusters local-cluster- Central Infrastructure Management を有効にした。詳細は、Red Hat Advanced Cluster Management ドキュメントの Central Infrastructure Management サービスの有効化 を参照してください。
-
hcpコマンドラインインターフェイスをインストールした。 - ホステッドクラスターの名前がクラスター全体で一意である。
- 管理クラスターとワーカーを同じインフラストラクチャー上で実行している。
4.4.1.2. 非ベアメタルエージェントマシンのファイアウォール、ポート、およびサービスの要件 リンクのコピーリンクがクリップボードにコピーされました!
管理クラスター、コントロールプレーン、ホステッドクラスター間でポートが通信できるように、ファイアウォールとポートの要件を満たす必要があります。
サービスはデフォルトのポートで実行されます。ただし、NodePort 公開ストラテジーを使用する場合、サービスは NodePort サービスによって割り当てられたポートで実行されます。
ファイアウォールルール、セキュリティーグループ、またはその他のアクセス制御を使用して、必要なソースだけにアクセスを制限します。必要な場合を除き、ポートを公開しないでください。実稼働環境の場合は、ロードバランサーを使用して、単一の IP アドレスによるアクセスを簡素化します。
Hosted Control Plane は、非ベアメタルエージェントマシン上で次のサービスを公開します。
APIServer-
APIServerサービスはデフォルトでポート 6443 で実行され、コントロールプレーンコンポーネント間の通信には ingress アクセスが必要です。 - MetalLB ロードバランシングを使用する場合は、ロードバランサーの IP アドレスに使用される IP 範囲への ingress アクセスを許可します。
-
OAuthServer-
ルートと Ingress を使用してサービスを公開する場合、
OAuthServerサービスはデフォルトでポート 443 で実行されます。 -
NodePort公開ストラテジーを使用する場合は、OAuthServerサービスにファイアウォールルールを使用します。
-
ルートと Ingress を使用してサービスを公開する場合、
Konnectivity-
ルートと Ingress を使用してサービスを公開する場合、
Konnectivityサービスはデフォルトでポート 443 で実行されます。 -
Konnectivityエージェントはリバーストンネルを確立し、コントロールプレーンがホステッドクラスターのネットワークにアクセスできるようにします。エージェントは egress を使用してKonnectivityサーバーに接続します。サーバーは、ポート 443 のルートまたは手動で割り当てられたNodePortを使用して公開されます。 - クラスター API サーバーのアドレスが内部 IP アドレスの場合は、ワークロードサブネットからポート 6443 の IP アドレスへのアクセスを許可します。
- アドレスが外部 IP アドレスの場合は、ノードからその外部 IP アドレスにポート 6443 で送信できるように許可します。
-
ルートと Ingress を使用してサービスを公開する場合、
Ignition-
ルートと Ingress を使用してサービスを公開する場合、
Ignitionサービスはデフォルトでポート 443 で実行されます。 -
NodePort公開ストラテジーを使用する場合は、Ignitionサービスにファイアウォールルールを使用します。
-
ルートと Ingress を使用してサービスを公開する場合、
非ベアメタルエージェントマシンでは、次のサービスは必要ありません。
-
OVNSbDb -
OIDC
4.4.1.3. 非ベアメタルエージェントマシンのインフラストラクチャー要件 リンクのコピーリンクがクリップボードにコピーされました!
Agent プラットフォームはインフラストラクチャーを作成しませんが、次のインフラストラクチャー要件があります。
- Agent: Agent は、Discovery イメージで起動され、OpenShift Container Platform ノードとしてプロビジョニングされる準備ができているホストを表します。
- DNS: API および Ingress エンドポイントは、ルーティング可能である必要があります。