12.7. コントロールプレーンマシンセットのトラブルシューティング


このセクションの情報を使用して、発生する可能性のある問題を理解し、回復してください。

12.7.1. コントロールプレーンマシンセットのカスタムリソースの状態を確認する

ControlPlaneMachineSet カスタムリソース (CR) の存在と状態を確認できます。

手順

  • 次のコマンドを実行して、CR の状態を確認します。

    $ oc get controlplanemachineset.machine.openshift.io cluster \
      --namespace openshift-machine-api
    Copy to Clipboard Toggle word wrap
    • Active の結果は、ControlPlaneMachineSet CR が存在し、アクティブ化されていることを示します。管理者の操作は必要ありません。
    • Inactive の結果は、ControlPlaneMachineSet CR が存在するがアクティブ化されていないことを示します。
    • NotFound の結果は、既存の ControlPlaneMachineSet CR がないことを示します。

次のステップ

コントロールプレーンマシンセットを使用するには、クラスターの正しい設定を持つ ControlPlaneMachineSet CR が存在することを確認する必要があります。

  • クラスターに既存の CR がある場合は、CR の設定がクラスターに対して正しいことを確認する必要があります。
  • クラスターに既存の CR がない場合は、クラスターの正しい設定で CR を作成する必要があります。

12.7.2. 不足している Azure 内部ロードバランサーの追加

Azure の ControlPlaneMachineSet とコントロールプレーン Machine のカスタムリソース (CR) の両方で internalLoadBalancer パラメーターが必要です。このパラメーターがクラスターで事前設定されていない場合は、両方の CR に追加する必要があります。

このパラメーターが Azure プロバイダー仕様のどこにあるかの詳細は、サンプルの Azure プロバイダー仕様を参照してください。コントロールプレーン Machine CR での配置も同様です。

手順

  1. 次のコマンドを実行して、クラスター内のコントロールプレーンマシンを一覧表示します。

    $ oc get machines \
      -l machine.openshift.io/cluster-api-machine-role==master \
      -n openshift-machine-api
    Copy to Clipboard Toggle word wrap
  2. コントロールプレーンマシンごとに、次のコマンドを実行して CR を編集します。

    $ oc edit machine <control_plane_machine_name>
    Copy to Clipboard Toggle word wrap
  3. クラスターの正しい詳細を含む internalLoadBalancer パラメーターを追加し、変更を保存します。
  4. 次のコマンドを実行して、コントロールプレーンマシンセットの CR を編集します。

    $ oc edit controlplanemachineset.machine.openshift.io cluster \
      -n openshift-machine-api
    Copy to Clipboard Toggle word wrap
  5. クラスターの正しい詳細を含む internalLoadBalancer パラメーターを追加し、変更を保存します。

次のステップ

  • デフォルトの RollingUpdate 更新戦略を使用するクラスターの場合、Operator は自動的に変更をコントロールプレーン設定に伝達します。
  • OnDelete 更新戦略を使用するように設定されているクラスターの場合、コントロールプレーンマシンを手動で置き換える必要があります。

12.7.3. 劣化した etcd Operator のリカバリー

特定の状況では、etcd Operator が劣化する可能性があります。

たとえば、修復の実行中に、マシンのヘルスチェックによって、etcd をホストしているコントロールプレーンマシンが削除される場合があります。その時点で etcd メンバーにアクセスできない場合、etcd Operator は劣化します。

etcd Operator が劣化している場合、Operator に障害のあるメンバーを強制的に削除させ、クラスターの状態を復元させるには、手動の介入が必要です。

手順

  1. 次のコマンドを実行して、クラスター内のコントロールプレーンマシンを一覧表示します。

    $ oc get machines \
      -l machine.openshift.io/cluster-api-machine-role==master \
      -n openshift-machine-api \
      -o wide
    Copy to Clipboard Toggle word wrap

    次のいずれかの状態は、コントロールプレーンマシンの障害を示している可能性があります。

    • STATE 値は stopped です。
    • PHASE 値は Failed です。
    • PHASE 値が 10 分以上 Deleting です。
    重要

    続行する前に、クラスターに 2 つの正常なコントロールプレーンマシンがあることを確認します。この手順のアクションを複数のコントロールプレーンマシンで実行すると、etcd クォーラムが失われるリスクがあり、データが失われる可能性があります。

    大多数のコントロールプレーンホストが失われ、etcd のクォーラム (定足数) の損失が発生した場合は、この手順ではなく、「直前のクラスター状態への復元に向けた障害復旧」手順を実行する必要があります。

  2. 次のコマンドを実行して、障害が発生したコントロールプレーンマシンのマシン CR を編集します。

    $ oc edit machine <control_plane_machine_name>
    Copy to Clipboard Toggle word wrap
  3. 障害が発生したコントロールプレーンマシンから lifecycleHooks パラメーターの内容を削除し、変更を保存します。

    etcd Operator は、障害が発生したマシンをクラスターから削除し、新しい etcd メンバーを安全に追加できるようにします。

12.7.4. RHOSP 上で実行されるクラスターのアップグレード

OpenShift Container Platform 4.13 以前で作成された Red Hat OpenStack Platform (RHOSP) 上で実行されるクラスターの場合は、コントロールプレーンマシンセットを使用する前にアップグレード後のタスクを実行する必要がある場合があります。

アップグレードする Red Hat OpenStack Platform (RHOSP) 上で実行する一部のクラスターでは、次の設定に該当する場合、コントロールプレーンマシンセットを使用する前に、マシンリソースを手動で更新する必要があります。

  • アップグレードされたクラスターは、OpenShift Container Platform 4.13 以前で作成されました。
  • クラスターインフラストラクチャーはインストーラーによってプロビジョニングされます。
  • マシンは複数のアベイラビリティーゾーンに分散されました。
  • マシンは、ブロックストレージのアベイラビリティーゾーンが定義されていないルートボリュームを使用するように設定されていました。

この手順が必要な理由を理解するには、Solution #7024383 を参照してください。

手順

  1. すべてのコントロールプレーンマシンについて、環境に一致するすべてのコントロールプレーンマシンのプロバイダー仕様を編集します。たとえば、マシン master-0 を編集するには、次のコマンドを入力します。

    $ oc edit machine/<cluster_id>-master-0 -n openshift-machine-api
    Copy to Clipboard Toggle word wrap

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

    <cluster_id>
    アップグレードされたクラスターの ID を指定します。
  2. プロバイダー仕様で、プロパティー rootVolume.availabilityZone の値を、使用するアベイラビリティーゾーンのボリュームに設定します。

    RHOSP プロバイダー仕様の例

    providerSpec:
      value:
        apiVersion: machine.openshift.io/v1alpha1
        availabilityZone: az0
          cloudName: openstack
        cloudsSecret:
          name: openstack-cloud-credentials
          namespace: openshift-machine-api
        flavor: m1.xlarge
        image: rhcos-4.14
        kind: OpenstackProviderSpec
        metadata:
          creationTimestamp: null
        networks:
        - filter: {}
          subnets:
          - filter:
              name: refarch-lv7q9-nodes
              tags: openshiftClusterID=refarch-lv7q9
        rootVolume:
            availabilityZone: nova 
    1
    
            diskSize: 30
            sourceUUID: rhcos-4.12
            volumeType: fast-0
        securityGroups:
        - filter: {}
          name: refarch-lv7q9-master
        serverGroupName: refarch-lv7q9-master
        serverMetadata:
          Name: refarch-lv7q9-master
          openshiftClusterID: refarch-lv7q9
        tags:
        - openshiftClusterID=refarch-lv7q9
        trunk: true
        userDataSecret:
          name: master-user-data
    Copy to Clipboard Toggle word wrap

    1
    ゾーン名をこの値として設定します。
    注記

    最初のクラスターデプロイメント後にマシンリソースを編集または再作成した場合は、これらの手順を設定に合わせて調整が必要になる場合があります。

    RHOSP クラスターで、マシンのルートボリュームのアベイラビリティーゾーンを見つけて、それを値として使用します。

  3. 次のコマンドを実行して、コントロールプレーンマシンセットリソースに関する情報を取得します。

    $ oc describe controlplanemachineset.machine.openshift.io/cluster --namespace openshift-machine-api
    Copy to Clipboard Toggle word wrap
  4. 以下のコマンドを実行してリソースを編集します。

    $ oc edit controlplanemachineset.machine.openshift.io/cluster --namespace openshift-machine-api
    Copy to Clipboard Toggle word wrap
  5. そのリソースについて、spec.state プロパティーの値を Active に設定して、クラスターのコントロールプレーンマシンセットをアクティブにします。

コントロールプレーンは、Cluster Control Plane Machine Set Operator によって管理される準備が整いました。

アップグレードする Red Hat OpenStack Platform (RHOSP) 上で実行する一部のクラスターでは、次の設定に該当する場合、コントロールプレーンマシンセットを使用する前に、マシンリソースを手動で更新する必要があります。

  • アップグレードされたクラスターは、OpenShift Container Platform 4.13 以前で作成されました。
  • クラスターインフラストラクチャーはインストーラーによってプロビジョニングされます。
  • コントロールプレーンマシンは、複数のコンピュートアベイラビリティーゾーンに分散されました。

この手順が必要な理由を理解するには、Solution #7013893 を参照してください。

手順

  1. master-1 および master-2 コントロールプレーンマシンの場合は、プロバイダー仕様を開いて編集します。たとえば、最初のマシンを編集するには、次のコマンドを入力します。

    $ oc edit machine/<cluster_id>-master-1 -n openshift-machine-api
    Copy to Clipboard Toggle word wrap

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

    <cluster_id>
    アップグレードされたクラスターの ID を指定します。
  2. master-1 および master-2 コントロールプレーンマシンの場合は、プロバイダー仕様の serverGroupName プロパティーの値を編集して、マシン master-0 の値と一致させます。

    RHOSP プロバイダー仕様の例

    providerSpec:
      value:
        apiVersion: machine.openshift.io/v1alpha1
        availabilityZone: az0
          cloudName: openstack
        cloudsSecret:
          name: openstack-cloud-credentials
          namespace: openshift-machine-api
        flavor: m1.xlarge
        image: rhcos-4.15
        kind: OpenstackProviderSpec
        metadata:
          creationTimestamp: null
        networks:
        - filter: {}
          subnets:
          - filter:
              name: refarch-lv7q9-nodes
              tags: openshiftClusterID=refarch-lv7q9
        securityGroups:
        - filter: {}
          name: refarch-lv7q9-master
        serverGroupName: refarch-lv7q9-master-az0 
    1
    
        serverMetadata:
          Name: refarch-lv7q9-master
          openshiftClusterID: refarch-lv7q9
        tags:
        - openshiftClusterID=refarch-lv7q9
        trunk: true
        userDataSecret:
          name: master-user-data
    Copy to Clipboard Toggle word wrap

    1
    この値は、マシン master-0master-1、および master-3 と一致する必要があります。
    注記

    最初のクラスターデプロイメント後にマシンリソースを編集または再作成した場合は、これらの手順を設定に合わせて調整が必要になる場合があります。

    RHOSP クラスターで、コントロールプレーンインスタンスが含まれるサーバーグループを見つけて、それを値として使用します。

  3. 次のコマンドを実行して、コントロールプレーンマシンセットリソースに関する情報を取得します。

    $ oc describe controlplanemachineset.machine.openshift.io/cluster --namespace openshift-machine-api
    Copy to Clipboard Toggle word wrap
  4. 以下のコマンドを実行してリソースを編集します。

    $ oc edit controlplanemachineset.machine.openshift.io/cluster --namespace openshift-machine-api
    Copy to Clipboard Toggle word wrap
  5. そのリソースについて、spec.state プロパティーの値を Active に設定して、クラスターのコントロールプレーンマシンセットをアクティブにします。

コントロールプレーンは、Cluster Control Plane Machine Set Operator によって管理される準備が整いました。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

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

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

会社概要

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

Theme

© 2025 Red Hat