12.3. コントロールプレーンマシンセットの設定
これらのサンプル YAML ファイルとスニペットは、コントロールプレーンマシンセットのカスタムリソース (CR) の基本構造と、障害ドメインおよびプロバイダー仕様設定のプラットフォーム固有のサンプルを示しています。
12.3.1. コントロールプレーンマシンセットのカスタムリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
ControlPlaneMachineSet
CR のベースは、すべてのプラットフォームで同じように構築されています。
サンプル ControlPlaneMachineSet
CR YAML ファイル
- 1
cluster
であるControlPlaneMachineSet
CR の名前を指定します。この値は変更しないでください。- 2
- コントロールプレーンマシンの数を指定します。3 つのコントロールプレーンマシンを持つクラスターのみがサポートされているため、
replicas
の値は3
です。水平スケーリングはサポートされていません。この値は変更しないでください。 - 3
- クラスターのプロビジョニング時に設定したクラスター ID を基にするインフラストラクチャー ID を指定します。
ControlPlaneMachineSet
CR を作成するときに、この値を指定する必要があります。OpenShift CLI (oc
) がインストールされている場合は、以下のコマンドを実行してインフラストラクチャー ID を取得できます。oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 4
- Operator の状態を指定します。状態が
Inactive
の場合、Operator は操作できません。値をActive
に設定することで、Operator をアクティブ化できます。重要Operator をアクティブ化する前に、
ControlPlaneMachineSet
CR 設定がクラスター要件に対して正しいことを確認する必要があります。Control Plane Machine Set Operator のアクティブ化の詳細は、「コントロールプレーンマシンセットの概要」を参照してください。 - 5
- クラスターの更新戦略を指定します。許可される値は
OnDelete
とRollingUpdate
です。デフォルト値はRollingUpdate
です。更新戦略の詳細は、「コントロールプレーン設定の更新」を参照してください。 - 6
- クラウドプロバイダーのプラットフォーム名を指定します。この値は変更しないでください。
- 7
- クラスターの
<platform_failure_domains>
設定を指定します。このセクションのフォーマットと値はプロバイダー固有です。詳細は、クラウドプロバイダーの障害ドメイン設定サンプルを参照してください。注記VMware vSphere は、コントロールプレーンマシンセットの障害ドメインをサポートしていません。
- 8
- クラスターの
<platform_provider_spec>
設定を指定します。このセクションのフォーマットと値はプロバイダー固有です。詳細は、クラウドプロバイダーのサンプルプロバイダー仕様を参照してください。
プロバイダー固有の設定
コントロールプレーンマシンセットリソースの <platform_provider_spec>
および <platform_failure_domains>
セクションは、プロバイダー固有です。クラスターのサンプル YAML を参照してください。
12.3.2. Amazon Web Services クラスターを設定するサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
コントロールプレーンマシンセット CR の一部のセクションは、プロバイダー固有です。このセクションのサンプル YAML は、Amazon Web Services (AWS) クラスターの障害ドメインとプロバイダー仕様の設定を示しています。
12.3.2.1. サンプル AWS 障害ドメインの設定 リンクのコピーリンクがクリップボードにコピーされました!
障害ドメインのコントロールプレーンマシンセットの概念は、既存の AWS の アベイラビリティゾーン (AZ) の概念に似ています。ControlPlaneMachineSet
CR は、可能な場合、コントロールプレーンマシンを複数の障害ドメインに分散します。
コントロールプレーンマシンセットで AWS 障害ドメインを設定するときは、使用するアベイラビリティゾーン名とサブネットを指定する必要があります。
AWS 障害ドメインの値の例
- 1
- 最初の障害ドメインの AWS アベイラビリティゾーンを指定します。
- 2
- サブネット設定を指定します。この例では、サブネットタイプが
Filters
であるため、filters
スタンザがあります。 - 3
- インフラストラクチャー ID と AWS アベイラビリティゾーンを使用して、最初の障害ドメインのサブネット名を指定します。
- 4
- サブネットタイプを指定します。許可される値は、
ARN
、Filters
、およびID
です。デフォルト値はFilters
です。 - 5
- インフラストラクチャー ID と AWS アベイラビリティゾーンを使用して、追加の障害ドメインのサブネット名を指定します。
- 6
- クラスターのインフラストラクチャー ID と、追加の障害ドメインの AWS アベイラビリティゾーンを指定します。
- 7
- クラウドプロバイダーのプラットフォーム名を指定します。この値は変更しないでください。
12.3.2.2. AWS プロバイダーの仕様例 リンクのコピーリンクがクリップボードにコピーされました!
既存のクラスター用のコントロールプレーンマシンセットを作成する場合、プロバイダーの仕様が、インストールプログラムによって作成されるコントロールプレーンマシンのカスタムリソース (CR) の providerSpec
設定と一致する必要があります。CR の障害ドメインセクションに設定されているフィールドは省略できます。
次の例で、<cluster_id>
は、クラスターをプロビジョニングしたときに設定したクラスター ID に基づくインフラストラクチャー ID です。OpenShift CLI がインストールされている場合は、以下のコマンドを実行してインフラストラクチャー ID を取得できます。
oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
サンプル AWS providerSpec
値
- 1
- クラスターの Red Hat Enterprise Linux CoreOS (RHCOS) Amazon Machine Image (AMI) ID を指定します。AMI はクラスターと同じリージョンに属する必要があります。AWS Marketplace イメージを使用する場合は、AWS Marketplace から OpenShift Container Platform サブスクリプションを完了して、リージョンの AMI ID を取得する必要があります。
- 2
- 暗号化された EBS ボリュームの設定を指定します。
- 3
- クラスターのシークレット名を指定します。この値は変更しないでください。
- 4
- AWS Identity and Access Management (IAM) インスタンスプロファイルを指定します。この値は変更しないでください。
- 5
- コントロールプレーンの AWS インスタンスタイプを指定します。
- 6
- クラウドプロバイダープラットフォームのタイプを指定します。この値は変更しないでください。
- 7
- クラスターの内部 (
int
) および外部 (ext
) ロードバランサーを指定します。注記プライベート OpenShift Container Platform クラスターでは、外部 (
ext
) ロードバランサーパラメーターを省略できます。 - 8
- このパラメーターは障害ドメインで設定され、ここでは空の値で表示されます。このパラメーターに指定された値が障害ドメインの値と異なる場合、Operator はそれを障害ドメインの値で上書きします。
- 9
- クラスターの AWS リージョンを指定します。
- 10
- コントロールプレーンマシンのセキュリティーグループを指定します。
- 11
- このパラメーターは障害ドメインで設定され、ここでは空の値で表示されます。このパラメーターに指定された値が障害ドメインの値と異なる場合、Operator はそれを障害ドメインの値で上書きします。
- 12
- コントロールプレーンのユーザーデータシークレットを指定します。この値は変更しないでください。
12.3.3. Microsoft Azure クラスターを設定するためのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
コントロールプレーンマシンセット CR の一部のセクションは、プロバイダー固有です。このセクションのサンプル YAML は、Azure クラスターの障害ドメインとプロバイダー仕様の設定を示しています。
12.3.3.1. Azure 障害ドメイン設定のサンプル リンクのコピーリンクがクリップボードにコピーされました!
障害ドメインのコントロールプレーンマシンセットの概念は、Azure 可用性ゾーン の既存の Azure 概念に似ています。ControlPlaneMachineSet
CR は、可能な場合、コントロールプレーンマシンを複数の障害ドメインに分散します。
コントロールプレーンマシンセットで Azure 障害ドメインを設定するときは、可用性ゾーン名を指定する必要があります。
Azure 障害ドメインの値のサンプル
12.3.3.2. Azure プロバイダー仕様のサンプル リンクのコピーリンクがクリップボードにコピーされました!
既存クラスター用のコントロールプレーンマシンセットを作成する場合、プロバイダーの仕様は、インストールプログラムによって作成されるコントロールプレーン machine
CR の providerSpec
設定と一致する必要があります。CR の障害ドメインセクションに設定されているフィールドは省略できます。
次の例で、<cluster_id>
は、クラスターをプロビジョニングしたときに設定したクラスター ID に基づくインフラストラクチャー ID です。OpenShift CLI がインストールされている場合は、以下のコマンドを実行してインフラストラクチャー ID を取得できます。
oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
Azure providerSpec
の値の例
- 1
- クラスターのシークレット名を指定します。この値は変更しないでください。
- 2
- コントロールプレーンマシンセットのイメージの詳細を指定します。
- 3
- インスタンスタイプと互換性のあるイメージを指定します。インストールプログラムによって作成された Hyper-V 世代の V2 イメージには接尾辞
-gen2
が付いていますが、V1 イメージには接尾辞のない同じ名前が付いています。 - 4
- コントロールプレーンの内部ロードバランサーを指定します。このフィールドは事前入力されていない可能性がありますが、
ControlPlaneMachineSet
とコントロールプレーンMachin
CR の両方で必要です。 - 5
- クラウドプロバイダープラットフォームのタイプを指定します。この値は変更しないでください。
- 6
- コントロールプレーンマシンを配置するリージョンを指定します。
- 7
- コントロールプレーンのディスク設定を指定します。
- 8
- コントロールプレーンのパブリックロードバランサーを指定します。注記
ユーザー定義のアウトバウンドルーティングを持つプライベート OpenShift Container Platform クラスターでは、
publicLoadBalancer
パラメーターを省略できます。 - 9
- コントロールプレーンのサブネットを指定します。
- 10
- コントロールプレーンのユーザーデータシークレットを指定します。この値は変更しないでください。
- 11
- このパラメーターは障害ドメインで設定され、ここでは空の値で表示されます。このパラメーターに指定された値が障害ドメインの値と異なる場合、Operator はそれを障害ドメインの値で上書きします。
12.3.4. VMware vSphere クラスターを設定するためのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
コントロールプレーンマシンセット CR の一部のセクションは、プロバイダー固有です。このセクションの YAML の例は、VMware vSphere クラスターのプロバイダー仕様の設定を示しています。
12.3.4.1. サンプルの vSphere プロバイダー仕様 リンクのコピーリンクがクリップボードにコピーされました!
既存のクラスター用のコントロールプレーンマシンセットを作成する場合、プロバイダーの仕様が、インストールプログラムによって作成されるコントロールプレーンマシンのカスタムリソース (CR) の providerSpec
設定と一致する必要があります。
vSphere providerSpec
の値の例
- 1
- クラスターのシークレット名を指定します。この値は変更しないでください。
- 2
- コントロールプレーンマシンの VM ディスクサイズを指定します。
- 3
- クラウドプロバイダープラットフォームのタイプを指定します。この値は変更しないでください。
- 4
- コントロールプレーンマシンに割り当てられるメモリーを指定します。
- 5
- コントロールプレーンがデプロイされるネットワークを指定します。
- 6
- コントロールプレーンマシンに割り当てられる CPU の数を指定します。
- 7
- 各コントロールプレーン CPU のコア数を指定します。
- 8
user-5ddjd-rhcos
など、使用する vSphere VM テンプレートを指定します。- 9
- コントロールプレーンのユーザーデータシークレットを指定します。この値は変更しないでください。
- 10
- コントロールプレーンの vCenter データセンターを指定します。
- 11
- コントロールプレーンの vCenter データストアを指定します。
- 12
/dc1/vm/user-inst-5ddjd
などの vCenter の vSphere 仮想マシンフォルダーへのパスを指定します。- 13
- 仮想マシンの vSphere リソースプールを指定します。
- 14
- vCenter サーバーの IP または完全修飾ドメイン名を指定します。