12.2. コントロールプレーンマシンセットの概要
コントロールプレーンマシンセットを使い始めるプロセスは、クラスター内の ControlPlaneMachineSet
カスタムリソース (CR) の状態によって異なります。
- アクティブに生成された CR を持つクラスター
- アクティブな状態で生成された CR を持つクラスターは、デフォルトで設定されたコントロールプレーンマシンを使用します。管理者の操作は必要ありません。
- 非アクティブな CR が生成されたクラスター
- 生成された非アクティブな CR を含むクラスターの場合、CR 設定を確認して CR を アクティブ化する 必要があります。
- CR が生成されていないクラスター
- 生成された CR が含まれていないクラスターの場合、クラスターに適した設定で CR を作成してアクティブ化する 必要があります。
クラスター内の ControlPlaneMachineSet
CR の状態が不明な場合は、CR の状態を確認 できます。
12.2.1. サポートされているクラウドプロバイダー
OpenShift Container Platform 4.17 では、Amazon Web Services (AWS)、Google Cloud Platform (GCP)、Microsoft Azure、Nutanix、および VMware vSphere クラスターのコントロールプレーンマシンセットがサポートされています。
インストール後のコントロールプレーンマシンセットのステータスは、クラウドプロバイダーと、クラスターにインストールした OpenShift Container Platform のバージョンによって異なります。
クラウドプロバイダー | デフォルトでアクティブ | 生成された CR | 手動の CR が必要 |
---|---|---|---|
Amazon Web Services (AWS) | X [1] | X | |
Google Cloud Platform (GCP) | X [2] | X | |
Microsoft Azure | X [2] | X | |
Nutanix | X [3] | X | |
Red Hat OpenStack Platform (RHOSP) | X [3] | X | |
VMware vSphere | X [4] | X |
- バージョン 4.11 以前からアップグレードされた AWS クラスターには、CR アクティベーション が必要です。
- バージョン 4.12 以前からアップグレードされた GCP および Azure クラスターでは、CR アクティベーション が必要です。
- バージョン 4.13 以前からアップグレードされた Nutanix クラスターおよび RHOSP クラスターには CR アクティベーション が必要です。
- バージョン 4.15 以前からアップグレードされた vSphere クラスターには、CR アクティベーション が必要です。
12.2.2. コントロールプレーンマシンセットのカスタムリソースの状態を確認する
ControlPlaneMachineSet
カスタムリソース (CR) の存在と状態を確認できます。
手順
次のコマンドを実行して、CR の状態を確認します。
$ oc get controlplanemachineset.machine.openshift.io cluster \ --namespace openshift-machine-api
-
Active
の結果は、ControlPlaneMachineSet
CR が存在し、アクティブ化されていることを示します。管理者の操作は必要ありません。 -
Inactive
の結果は、ControlPlaneMachineSet
CR が存在するがアクティブ化されていないことを示します。 -
NotFound
の結果は、既存のControlPlaneMachineSet
CR がないことを示します。
-
次のステップ
コントロールプレーンマシンセットを使用するには、クラスターの正しい設定を持つ ControlPlaneMachineSet
CR が存在することを確認する必要があります。
- クラスターに既存の CR がある場合は、CR の設定がクラスターに対して正しいことを確認する必要があります。
- クラスターに既存の CR がない場合は、クラスターの正しい設定で CR を作成する必要があります。
12.2.3. コントロールプレーンマシンセットカスタムリソースの有効化
コントロールプレーンマシンセットを使用するには、クラスターの正しい設定を持つ ControlPlaneMachineSet
カスタムリソース (CR) が存在することを確認する必要があります。CR が生成されたクラスターでは、CR の設定がクラスターに対して正しいことを確認し、アクティブ化する必要があります。
CR のパラメーターの詳細は、「コントロールプレーンマシンセットの設定」を参照してください。
手順
次のコマンドを実行して、CR の設定を表示します。
$ oc --namespace openshift-machine-api edit controlplanemachineset.machine.openshift.io cluster
- クラスター設定に不適切なフィールドの値を変更します。
設定が正しい場合は、
.spec.state
フィールドをActive
に設定し、変更を保存して CR をアクティブにします。重要CR を有効にするには、CR 設定の更新に使用するのと同じ
oc edit
セッションで.spec.state
フィールドをActive
に変更する必要があります。CR がInactive
のままの状態で保存された場合、コントロールプレーンマシンセットジェネレーターは CR を元の設定にリセットします。
関連情報
12.2.4. コントロールプレーンマシンセットのカスタムリソースの作成
コントロールプレーンマシンセットを使用するには、クラスターの正しい設定を持つ ControlPlaneMachineSet
カスタムリソース (CR) が存在することを確認する必要があります。CR が生成されていないクラスターでは、CR を手動で作成してアクティブ化する必要があります。
CR の構造とパラメーターの詳細は、「コントロールプレーンマシンセットの設定」を参照してください。
手順
次のテンプレートを使用して YAML ファイルを作成します。
コントロールプレーンマシンセットの CR YAML ファイルテンプレート
apiVersion: machine.openshift.io/v1 kind: ControlPlaneMachineSet metadata: name: cluster namespace: openshift-machine-api spec: replicas: 3 selector: matchLabels: machine.openshift.io/cluster-api-cluster: <cluster_id> 1 machine.openshift.io/cluster-api-machine-role: master machine.openshift.io/cluster-api-machine-type: master state: Active 2 strategy: type: RollingUpdate 3 template: machineType: machines_v1beta1_machine_openshift_io machines_v1beta1_machine_openshift_io: failureDomains: platform: <platform> 4 <platform_failure_domains> 5 metadata: labels: machine.openshift.io/cluster-api-cluster: <cluster_id> 6 machine.openshift.io/cluster-api-machine-role: master machine.openshift.io/cluster-api-machine-type: master spec: providerSpec: value: <platform_provider_spec> 7
- 1
- クラスターのプロビジョニング時に設定したクラスター ID を基にするインフラストラクチャー ID を指定します。
ControlPlaneMachineSet
CR を作成するときに、この値を指定する必要があります。OpenShift CLI (oc
) がインストールされている場合は、以下のコマンドを実行してインフラストラクチャー ID を取得できます。$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
- 2
- Operator の状態を指定します。状態が
Inactive
の場合、Operator は操作できません。値をActive
に設定することで、Operator をアクティブ化できます。重要CR をアクティブ化する前に、その設定がクラスター要件に対して正しいことを確認する必要があります。
- 3
- クラスターの更新戦略を指定します。有効な値は
OnDelete
およびRollingUpdate
です。デフォルト値はRollingUpdate
です。更新戦略の詳細は、「コントロールプレーン設定の更新」を参照してください。 - 4
- クラウドプロバイダーのプラットフォーム名を指定します。有効な値は、
AWS
、Azure
、GCP
、Nutanix
、VSphere
、およびOpenStack
です。 - 5
- クラスターの
<platform_failure_domains>
設定を追加します。このセクションのフォーマットと値はプロバイダー固有です。詳細は、クラウドプロバイダーの障害ドメイン設定サンプルを参照してください。 - 6
- インフラストラクチャー ID を指定します。
- 7
- クラスターの
<platform_provider_spec>
設定を追加します。このセクションのフォーマットと値はプロバイダー固有です。詳細は、クラウドプロバイダーのサンプルプロバイダー仕様を参照してください。
- コントロールプレーンマシンセット CR のサンプル YAML を参照し、クラスター設定に適した値をファイルに入力します。
- クラウドプロバイダーのサンプル障害ドメイン設定とサンプルプロバイダー仕様を参照し、ファイルのこれらのセクションを適切な値で更新します。
-
設定が正しい場合は、
.spec.state
フィールドをActive
に設定し、変更を保存して CR をアクティブにします。 次のコマンドを実行して、YAML ファイルから CR を作成します。
$ oc create -f <control_plane_machine_set>.yaml
<control_plane_machine_set>
は、CR 設定を含む YAML ファイルの名前です。