第12章 コントロールプレーンマシンの管理
12.1. コントロールプレーンマシンセットについて
コントロールプレーンマシンセットを使用すると、OpenShift Container Platform クラスター内のコントロールプレーンマシンリソースの管理を自動化できます。
コントロールプレーンマシンセットはコンピューティングマシンを管理できず、コンピューティングマシンセットはコントロールプレーンマシンを管理できません。
コントロールプレーンマシンセットは、コンピューティングマシンセットがコンピューティングマシンに提供するのと同様の管理機能をコントロールプレーンマシンに提供します。ただし、これら 2 種類のマシンセットは、Machine API 内で定義された別々のカスタムリソースであり、アーキテクチャーと機能にいくつかの基本的な違いがあります。
12.1.1. Control Plane Machine Set Operator の概要
Control Plane Machine Set Operator は、ControlPlaneMachineSet
カスタムリソース (CR) を使用して、OpenShift Container Platform クラスター内のコントロールプレーンマシンリソースの管理を自動化します。
クラスターコントロールプレーンマシンセットの状態が Active
に設定されている場合、Operator は、指定された設定を持つ正しい数のコントロールプレーンマシンがクラスターにあることを確認します。これにより、劣化したコントロールプレーンマシンの自動交換と、コントロールプレーンへの変更のロールアウトが可能になります。
クラスターにあるコントロールプレーンマシンセットは 1 つだけであり、Operator は openshift-machine-api
namespace のオブジェクトのみを管理します。
12.1.2. Control Plane Machine Set Operator の制限事項
Control Plane Machine Set Operator には、次の制限があります。
- Amazon Web Services (AWS)、Google クラウドプラットフォーム (GCP)、Microsoft Azure、および VMware vSphere クラスターのみがサポートされています。
コントロールプレーンノードを表す既存のマシンを持たないクラスターは、コントロールプレーンマシンセットを使用することも、インストール後にコントロールプレーンマシンセットの使用を有効にすることもできません。通常、既存のコントロールプレーンマシンは、インストールプログラムによってプロビジョニングされたインフラストラクチャーを使用してクラスターがインストールされた場合にのみ存在します。
クラスターに必要な既存のコントロールプレーンマシンがあるかどうかを確認するには、管理者権限を持つユーザーとして次のコマンドを実行します。
$ oc get machine \ -n openshift-machine-api \ -l machine.openshift.io/cluster-api-machine-role=master
既存のコントロールプレーンマシンを示す出力例
NAME PHASE TYPE REGION ZONE AGE <infrastructure_id>-master-0 Running m6i.xlarge us-west-1 us-west-1a 5h19m <infrastructure_id>-master-1 Running m6i.xlarge us-west-1 us-west-1b 5h19m <infrastructure_id>-master-2 Running m6i.xlarge us-west-1 us-west-1a 5h19m
既存のコントロールプレーンマシンが欠落している出力例
No resources found in openshift-machine-api namespace.
-
Operator は Machine API Operator が動作している必要があるため、手動でプロビジョニングされたマシンを含むクラスターではサポートされていません。アクティブに生成された
ControlPlaneMachineSet
カスタムリソース (CR) を作成するプラットフォーム用に手動でプロビジョニングされたマシンを使用して、OpenShift Container Platform クラスターをインストールする場合は、インストールプロセスの指示に従って、コントロールプレーンマシンセットを定義する Kubernetes マニフェストファイルを削除する必要があります。 - 3 つのコントロールプレーンマシンを持つクラスターのみがサポートされます。
- コントロールプレーンの水平スケーリングはサポートされていません。
- Azure コントロールプレーンマシンをエフェメラル OS ディスクにデプロイすると、データ損失のリスクが高まるため、サポートされていません。
コントロールプレーンマシンを AWS スポットインスタンス、GCP プリエンプティブル VM、または Azure スポット VM としてデプロイすることはサポートされていません。
重要コントロールプレーンマシンを AWS スポットインスタンス、GCP プリエンプティブル VM、または Azure スポット VM としてデプロイしようとすると、クラスターが etcd クォーラムを失う可能性があります。すべてのコントロールプレーンマシンが同時に失われたクラスターは回復できません。
- インストール中またはインストール前にコントロールプレーンマシンセットを変更することはサポートされていません。インストール後にのみ、コントロールプレーンマシンセットに変更を加える必要があります。