6.6. ホストされたコントロールプレーンの概要
Red Hat OpenShift Container Platform の Hosted Control Plane を使用すると、管理コストを削減し、クラスターのデプロイ時間を最適化し、管理とワークロードの問題を分離して、アプリケーションに集中できるようになります。
Hosted Control Plane は、次のプラットフォームで Kubernetes Operator バージョン 2.0 以降のマルチクラスターエンジン を使用することで利用できます。
- Agent プロバイダーを使用したベアメタル
- OpenShift Virtualization。接続環境では一般提供機能として、非接続環境ではテクノロジープレビュー機能として提供されます。
- Amazon Web Services (AWS) (テクノロジープレビュー機能)
- IBM Z (テクノロジープレビュー機能)
- IBM Power (テクノロジープレビュー機能)
6.6.1. Hosted Control Plane のアーキテクチャー
OpenShift Container Platform は、多くの場合、クラスターがコントロールプレーンとデータプレーンで構成される結合モデルまたはスタンドアロンモデルでデプロイされます。コントロールプレーンには、API エンドポイント、ストレージエンドポイント、ワークロードスケジューラー、および状態を保証するアクチュエーターが含まれます。データプレーンには、ワークロードとアプリケーションが実行されるコンピューティング、ストレージ、ネットワークが含まれます。
スタンドアロンコントロールプレーンは、クォーラムを確保できる最小限の数で、物理または仮想のノードの専用グループによってホストされます。ネットワークスタックは共有されます。クラスターへの管理者アクセスにより、クラスターのコントロールプレーン、マシン管理 API、およびクラスターの状態に影響を与える他のコンポーネントを可視化できます。
スタンドアロンモデルは正常に機能しますが、状況によっては、コントロールプレーンとデータプレーンが分離されたアーキテクチャーが必要になります。そのような場合には、データプレーンは、専用の物理ホスティング環境がある別のネットワークドメインに配置されています。コントロールプレーンは、Kubernetes にネイティブなデプロイやステートフルセットなど、高レベルのプリミティブを使用してホストされます。コントロールプレーンは、他のワークロードと同様に扱われます。
6.6.2. Hosted Control Plane の利点
OpenShift Container Platform の Hosted Control Plane を使用すると、真のハイブリッドクラウドアプローチへの道が開かれ、その他のさまざまなメリットも享受できます。
- コントロールプレーンが分離され、専用のホスティングサービスクラスターでホストされるため、管理とワークロードの間のセキュリティー境界が強化されます。その結果、クラスターのクレデンシャルが他のユーザーに漏洩する可能性が低くなります。インフラストラクチャーのシークレットアカウント管理も分離されているため、クラスターインフラストラクチャーの管理者が誤ってコントロールプレーンインフラストラクチャーを削除することはありません。
- Hosted Control Plane を使用すると、より少ないノードで多数のコントロールプレーンを実行できます。その結果、クラスターはより安価になります。
- コントロールプレーンは OpenShift Container Platform で起動される Pod で構成されるため、コントロールプレーンはすぐに起動します。同じ原則が、モニタリング、ロギング、自動スケーリングなどのコントロールプレーンとワークロードに適用されます。
- インフラストラクチャーの観点からは、レジストリー、HAProxy、クラスター監視、ストレージノードなどのインフラストラクチャーをテナントのクラウドプロバイダーのアカウントにプッシュして、テナントでの使用を分離できます。
- 運用上の観点からは、マルチクラスター管理はさらに集約され、クラスターの状態と一貫性に影響を与える外部要因が少なくなります。Site Reliability Engineer は、一箇所で問題をデバッグして、クラスターのデータプレインを移動するため、解決までの時間 (TTR) が短縮され、生産性が向上します。
関連情報
6.6.3. Hosted Control Plane の一般的な概念とペルソナの用語集
OpenShift Container Platform の Hosted Control Plane を使用する場合は、その主要な概念と関連するペルソナを理解することが重要です。
6.6.3.1. 概念
- ホストされたクラスター
- 管理クラスター上でホストされるコントロールプレーンと API エンドポイントを備えた OpenShift Container Platform クラスター。ホストされたクラスターには、コントロールプレーンとそれに対応するデータプレーンが含まれます。
- ホストされたクラスターインフラストラクチャー
- テナントまたはエンドユーザーのクラウドアカウントに存在するネットワーク、コンピューティング、およびストレージリソース。
- Hosted Control Plane
- 管理クラスター上で実行している OpenShift Container Platform コントロールプレーン。ホストされたクラスターの API エンドポイントによって公開されます。コントロールプレーンのコンポーネントには、etcd、Kubernetes API サーバー、Kubernetes コントローラーマネージャー、および VPN が含まれます。
- ホスティングクラスター
- 管理クラスター を参照してください。
- マネージドクラスター
- ハブクラスターが管理するクラスター。この用語は、Red Hat Advanced Cluster Management で multicluster engine for Kubernetes Operator が管理するクラスターライフサイクル特有の用語です。マネージドクラスターは、管理クラスター とは異なります。詳細は、マネージドクラスター を参照してください。
- 管理クラスター
- HyperShift Operator がデプロイされ、ホストされたクラスターのコントロールプレーンがホストされる OpenShift Container Platform クラスター。管理クラスターは ホスティングクラスター と同義です。
- 管理クラスターインフラストラクチャー
- 管理クラスターのネットワーク、コンピューティング、およびストレージリソース。
- ノードプール
- コンピュートノードを含むリソース。コントロールプレーンにはノードプールが含まれます。コンピュートノードはアプリケーションとワークロードを実行します。
6.6.3.2. ペルソナ
- クラスターインスタンス管理者
-
このロールを引き受けるユーザーは、スタンドアロン OpenShift Container Platform の管理者と同等です。このユーザーには、プロビジョニングされたクラスター内で
cluster-admin
ロールがありますが、クラスターがいつ、どのように更新または設定されるかを制御できない可能性があります。このユーザーは、クラスターに投影された設定を表示するための読み取り専用アクセス権を持っている可能性があります。 - クラスターインスタンスユーザー
- このロールを引き受けるユーザーは、スタンドアロン OpenShift Container Platform の開発者と同等です。このユーザーには、OperatorHub またはマシンに対するビューがありません。
- クラスターサービスコンシューマー
- このロールを引き受けるユーザーは、コントロールプレーンとワーカーノードを要求したり、更新を実行したり、外部化された設定を変更したりできます。通常、このユーザーはクラウド認証情報やインフラストラクチャー暗号化キーを管理したりアクセスしたりしません。クラスターサービスのコンシューマーペルソナは、ホストされたクラスターを要求し、ノードプールと対話できます。このロールを引き受けるユーザーには、論理境界内でホストされたクラスターとノードプールを作成、読み取り、更新、または削除するための RBAC があります。
- クラスターサービスプロバイダー
このロールを引き受けるユーザーは通常、管理クラスター上で
cluster-admin
ロールを持ち、HyperShift Operator とテナントのホストされたクラスターのコントロールプレーンの可用性を監視および所有するための RBAC を持っています。クラスターサービスプロバイダーのペルソナは、次の例を含むいくつかのアクティビティーを担当します。- コントロールプレーンの可用性、稼働時間、安定性を確保するためのサービスレベルオブジェクトの所有
- コントロールプレーンをホストするための管理クラスターのクラウドアカウントの設定
- ユーザーがプロビジョニングするインフラストラクチャーの設定 (利用可能なコンピュートリソースのホスト認識を含む)
6.6.4. Hosted Control Plane のバージョン管理
OpenShift Container Platform のメジャー、マイナー、またはパッチバージョンのリリースごとに、Hosted Control Plane の 2 つのコンポーネントがリリースされます。
- HyperShift Operator
-
hcp
コマンドラインインターフェイス (CLI)
HyperShift Operator は、HostedCluster
API リソースによって表されるホストされたクラスターのライフサイクルを管理します。HyperShift Operator は、OpenShift Container Platform の各リリースでリリースされます。HyperShift Operator は、hypershift
namespace に supported-versions
config map を作成します。この config map には、サポートされているホステッドクラスターのバージョンが含まれています。
同じ管理クラスター上で異なるバージョンのコントロールプレーンをホストできます。
supported-versions
config map オブジェクトの例
apiVersion: v1 data: supported-versions: '{"versions":["4.16"]}' kind: ConfigMap metadata: labels: hypershift.openshift.io/supported-versions: "true" name: supported-versions namespace: hypershift
hcp
CLI を使用してホストされたクラスターを作成できます。
HostedCluster
や NodePool
などの hypershift.openshift.io
API リソースを使用して、大規模な OpenShift Container Platform クラスターを作成および管理できます。HostedCluster
リソースには、コントロールプレーンと共通データプレーンの設定が含まれます。HostedCluster
リソースを作成すると、ノードが接続されていない、完全に機能するコントロールプレーンが作成されます。NodePool
リソースは、HostedCluster
リソースにアタッチされたスケーラブルなワーカーノードのセットです。
API バージョンポリシーは、通常、Kubernetes API のバージョン管理 のポリシーと一致します。