10.5. コントロールプレーンマシンの設定オプション


10.5.1. Amazon Web Services のコントロールプレーン設定オプション

コントロールプレーンマシンセット仕様の値を編集することで、インフラストラクチャーや環境の変更を反映するようにコントロールプレーンマシンを更新できます。

コントロールプレーンマシンセットへの更新を保存すると、設定された更新ストラテジーに従って Control Plane Machine Set Operator がコントロールプレーンマシンを更新します。詳細は、制御プレーン設定の更新を参照してください。

次の YAML スニペットの例は、AWS クラスターのプロバイダーの仕様と障害ドメインの設定を示しています。

10.5.1.1. AWS プロバイダーの仕様例

コントロールプレーンマシンセットプロバイダー仕様の値を編集することで、基盤となるインフラストラクチャーの変更を反映するようにコントロールプレーンマシンを更新できます。

以下の YAML の例は、Amazon Web Services (AWS) クラスターの有効な設定を示しています。

注記

既存のクラスター用のコントロールプレーンマシンセットを作成する場合、プロバイダーの仕様が、インストールプログラムによって作成されるコントロールプレーンマシンのカスタムリソース (CR) の providerSpec 設定と一致する必要があります。

CR の障害ドメインセクションで値が設定されているフィールドは省略できます。

以下の例では、<cluster_id> という文字列はインフラストラクチャー ID です。インフラストラクチャー ID は、インストールプログラムがクラスタープロビジョニング中に使用したクラスター ID と一致します。OpenShift CLI (oc) がインストールされている場合は、以下のコマンドを実行してインフラストラクチャー ID を取得できます。

$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster

AWS providerSpec の値の例

apiVersion: machine.openshift.io/v1
kind: ControlPlaneMachineSet
metadata:
  name: cluster
  namespace: openshift-machine-api
spec:
# ...
  template:
# ...
      spec:
        providerSpec:
          value:
            ami:
              id: ami-<ami_id_string>
            apiVersion: machine.openshift.io/v1beta1
            blockDevices:
            - ebs:
                encrypted: true
                iops: 0
                kmsKey:
                  arn: ""
                volumeSize: 120
                volumeType: gp3
            credentialsSecret:
              name: aws-cloud-credentials
            deviceIndex: 0
            iamInstanceProfile:
              id: <cluster_id>-master-profile
            instanceType: m6i.xlarge
            kind: AWSMachineProviderConfig
            loadBalancers:
            - name: <cluster_id>-int
              type: network
            - name: <cluster_id>-ext
              type: network
            metadata:
              creationTimestamp: null
            metadataServiceOptions: {}
            placement:
              region: <region>
              availabilityZone: ""
              tenancy:
            securityGroups:
              - filters:
                - name: tag:Name
                  values:
                  - <cluster_id>-node
              - filters:
                - name: tag:Name
                  values:
                  - <cluster_id>-lb
              - filters:
                - name: tag:Name
                  values:
                  - <cluster_id>-controlplane
            subnet: {}
            userDataSecret:
              name: master-user-data

ここでは、以下のようになります。

<ami_id_string>
クラスターの Red Hat Enterprise Linux CoreOS (RHCOS) Amazon Machine Image (AMI) ID を指定します。AMI はクラスターと同じリージョンに属する必要があります。AWS Marketplace イメージを使用する場合は、AWS Marketplace から OpenShift Container Platform サブスクリプションを完了して、リージョンの AMI ID を取得する必要があります。
spec.template.spec.providerSpec.value.blockDevices.ebs
暗号化された Amazon Elastic Block Store (Amazon EBS) ボリュームの設定を指定します。
spec.template.spec.providerSpec.value.credentialsSecret.name
クラスターのシークレット名を指定します。この値は変更しないでください。
spec.template.spec.providerSpec.value.iamInstanceProfile
AWS Identity and Access Management (IAM) インスタンスプロファイルを指定します。この値は変更しないでください。
spec.template.spec.providerSpec.value.instanceType
コントロールプレーンの AWS インスタンスタイプを指定します。
spec.template.spec.providerSpec.value.kind
クラウドプロバイダープラットフォームのタイプを指定します。この値は変更しないでください。
spec.template.spec.providerSpec.value.loadBalancers

クラスターの内部 (int) および外部 (ext) ロードバランサーを指定します。

注記

プライベート OpenShift Container Platform クラスターでは、外部 (ext) ロードバランサーパラメーターを省略できます。

spec.template.spec.providerSpec.value.placement

AWS でコントロールプレーンインスタンスを作成する場所を指定します。この節の以下のキーは、追加の詳細情報を示しています。

region
クラスターの AWS リージョンを指定します。
availabilityZone
このパラメーターは障害ドメイン設定に含まれており、ここでは空の値になっています。

クラスターが障害ドメインを使用する場合は、障害ドメインでこのパラメーターを設定します。障害ドメインを使用する際にプロバイダー仕様でこの値を指定した場合、Control Plane Machine Set Operator はその値を無視し、障害ドメイン内の値を使用します。

賃貸借

コントロールプレーンの AWS Dedicated Instance 設定を指定します。詳細は、Dedicated Instance に関する AWS ドキュメントを参照してください。次の値が有効です。

  • default: Dedicated Instance は共有ハードウェア上で実行されます。
  • dedicated: Dedicated Instance はシングルテナントのハードウェア上で実行されます。
  • host: Dedicated Instance は Dedicated Host (設定を制御できる分離されたサーバー) 上で実行されます。
spec.template.spec.providerSpec.value.securityGroups
コントロールプレーンマシンのセキュリティーグループを指定します。
spec.template.spec.providerSpec.value.subnet

このパラメーターは障害ドメイン設定に含まれており、ここでは空の値になっています。

クラスターが障害ドメインを使用する場合は、障害ドメインでこのパラメーターを設定します。障害ドメインを使用する際にプロバイダー仕様でこの値を指定した場合、Control Plane Machine Set Operator はその値を無視し、障害ドメイン内の値を使用します。

注記

障害ドメイン設定で値が指定されていない場合、制御プレーンマシンはプロバイダー仕様の値を使用します。

spec.template.spec.providerSpec.value.userDataSecret
コントロールプレーンのユーザーデータシークレットを指定します。この値は変更しないでください。

10.5.1.2. AWS 障害ドメインの設定例

単一の Amazon Web Services (AWS) リージョンの障害によってアプリケーションがダウンするのを防ぐには、コントロールプレーンマシンセットで障害ドメインを設定できます。障害ドメインを使用するには、ControlPlaneMachineSet カスタムリソース (CR) の failureDomains セクションで適切な値を設定します。

コントロールプレーンマシンセットの障害ドメインの概念は、AWS の アベイラビリティーゾーン (AZ) の概念に類似している。ControlPlaneMachineSet CR は、可能な場合は制御プレーンマシンを複数の障害ドメインに分散させます。

コントロールプレーンマシンセットで AWS 障害ドメインを設定するときは、使用するアベイラビリティゾーン名とサブネットを指定する必要があります。

AWS 障害ドメインの値の例

apiVersion: machine.openshift.io/v1
kind: ControlPlaneMachineSet
metadata:
  name: cluster
  namespace: openshift-machine-api
spec:
# ...
  template:
# ...
    machines_v1beta1_machine_openshift_io:
      failureDomains:
        aws:
        - placement:
            availabilityZone: <aws_zone_a>
          subnet:
            filters:
            - name: tag:Name
              values:
              - <cluster_id>-subnet-private-<aws_zone_a>
            type: Filters
        - placement:
            availabilityZone: <aws_zone_b>
          subnet:
            filters:
            - name: tag:Name
              values:
              - <cluster_id>-subnet-private-<aws_zone_b>
            type: Filters
        platform: AWS
# ...

ここでは、以下のようになります。

spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws.placement.availabilityZone: <aws_zone_a>
最初の障害ドメインの AWS アベイラビリティゾーンを指定します。
spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws.subnet
サブネット設定を指定します。この例では、サブネットタイプが Filters であるため、filters スタンザがあります。
spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws.subnet.filters.values: <cluster_id>-subnet-private-<aws_zone_a>
インフラストラクチャー ID と AWS アベイラビリティゾーンを使用して、最初の障害ドメインのサブネット名を指定します。
spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws.subnet.type
サブネットタイプを指定します。以下の値が有効です: ARNフィルターID。デフォルト値は Filters です。
spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws.placement.availabilityZone: <aws_zone_b>
追加の障害ドメイン用に AWS アベイラビリティーゾーンを指定します。
spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws.subnet.filters.values: <cluster_id>-subnet-private-<aws_zone_b>
インフラストラクチャー ID と AWS アベイラビリティーゾーンを使用して、追加の障害ドメインのサブネット名を指定します。
spec.template.machines_v1beta1_machine_openshift_io.failureDomains.platform
クラウドプロバイダーのプラットフォーム名を指定します。この値は変更しないでください。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る