11.6. Cluster API を無効にする


OpenShift Container Platform クラスター上のインフラストラクチャーリソースの管理を自動化するために Cluster API の使用を停止するには、クラスター上の任意の Cluster API リソースを同等の Machine API リソースに変換します。

重要

Cluster API を使用したマシン管理は、テクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

11.6.1. Cluster API リソースを Machine API リソースに移行する

Machine API と Cluster API リソース間の移行をサポートするクラスターでは、双方向同期コントローラーは Cluster API リソースの Machine API リソースへの変換をサポートします。

注記

双方向同期コントローラーは、TechPreviewNoUpgrade 機能セットの MachineAPIMigration フィーチャーゲートが有効になっているクラスターでのみ動作します。

最初に Machine API から Cluster API に移行したリソース、または最初に Cluster API リソースとして作成したリソースを移行できます。元の Machine API リソースを Cluster API リソースに移行してから、それを元に戻すと、移行プロセスが期待どおりに機能することを確認できます。

注記

一部のリソースは、サポートされているインフラストラクチャータイプでのみ移行できます。

Expand
表11.4 サポートされているリソース変換
インフラストラクチャーコンピュートマシンコンピュートマシンセットマシンのヘルスチェックコントロールプレーンマシンセットCluster Autoscaler

AWS

テクノロジープレビュー

テクノロジープレビュー

利用不可

利用不可

利用不可

その他のすべてのインフラストラクチャータイプ

利用不可

利用不可

利用不可

利用不可

利用不可

11.6.1.1. Cluster API リソースを移行して Machine API を使用する

個々の Cluster API オブジェクトを同等の Machine API オブジェクトに移行できます。

重要

Cluster API リソースを移行して Machine API を使用する機能は、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

前提条件

  • サポートされているインフラストラクチャータイプに OpenShift Container Platform クラスターをデプロイしている。
  • TechPreviewNoUpgrade 機能セットで MachineAPIMigration フィーチャーゲートを有効化している。
  • cluster-admin 権限を持つアカウントを使用してクラスターにアクセスできる。
  • OpenShift CLI (oc) がインストールされている。

手順

  1. 次のコマンドを実行して、Machine API リソースに移行する Cluster API リソースを特定します。

    $ oc get <resource_kind> -n openshift-cluster-api

    ここで、<resource_kind> は次のいずれかの値になります。

    machine.cluster.x-k8s.io
    コンピュートまたはコントロールプレーンマシンのリソースの種類の完全修飾名。
    machineset.cluster.x-k8s.io
    コンピュートマシンセットのリソースの種類の完全修飾名。
  2. 次のコマンドを実行してリソース仕様を編集します。

    $ oc edit <resource_kind>/<resource_name> -n openshift-machine-api

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

    <resource_kind>
    machine.machine.openshift.io を持つコンピュートマシン、または machineset.machine.openshift.io で設定されたコンピュートマシンを指定します。
    <resource_name>
    Machine API に移行する Cluster API リソースに対応する Machine API リソースの名前を指定します。
  3. リソース仕様で、spec.authoritativeAPI フィールドの値を更新します。

    apiVersion: machine.openshift.io/v1beta1
    kind: <resource_kind>
    metadata:
      name: <resource_name>
      [...]
    spec:
      authoritativeAPI: MachineAPI
      [...]
    status:
      authoritativeAPI: ClusterAPI
      [...]

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

    kind
    移行するリソースの種類を指定します。たとえば、コンピュートマシンセットのリソースの種類は MachineSet であり、コンピュートマシンのリソースの種類は Machine です。
    metadata.name
    移行するリソースの名前を指定します。
    spec.authoritativeAPI
    このリソースが使用する権威ある API を指定します。たとえば、Cluster API リソースの Machine API への移行を開始するには、MachineAPI を指定します。
    ステータス.authoritativeAPI
    現在の権威ある API の値を指定します。この値は、現在このリソースを管理している API を示します。仕様のこの部分の値は変更しないでください。
    重要

    spec.authoritativeAPI フィールドの値を更新する際は、他の値を変更しないでください。同期コントローラーが spec.authoritativeAPI フィールドの更新を処理する前に、他のコントローラーが他の値の更新を処理する可能性があるため、他の値を変更すると予期しない動作が発生する可能性があります。

    詳細は、リソース設定の変更時に予期しない動作が発生するを参照してください。

検証

  • 次のコマンドを実行して、変換のステータスを確認します。

    $ oc -n openshift-machine-api get <resource_kind>/<resource_name> -o json | jq .status.authoritativeAPI

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

    <resource_kind>
    machine.machine.openshift.io を持つコンピュートマシン、または machineset.machine.openshift.io で設定されたコンピュートマシンを指定します。
    <resource_name>
    Machine API に移行する Cluster API リソースに対応する Machine API リソースの名前を指定します。
    • 変換の進行中、このコマンドは Migrating という値を返します。この値が長時間続く場合は、openshift-cluster-api namespace の cluster-capi-operator デプロイメントのログをチェックして詳細を確認し、潜在的な問題を特定してください。
    • 変換が完了すると、このコマンドは MachineAPI の値を返します。
    重要

    現在の authoritative API を使用する対応するリソースを削除する場合を除き、現在の authoritative API を使用しない nonauthoritative リソースは削除しないでください。

    現在の authoritative API を使用していない nonauthoritative リソースを削除すると、同期コントローラーは、現在の authoritative API を使用する対応するリソースを削除します。詳細は、リソース移行のトラブルシューティング コンテンツの、「予期しないリソース削除動作」を参照してください。

11.6.1.2. コンピュートマシンの権威ある API タイプ

コンピュートマシンの authoritative API は、それを作成する Machine API コンピュートマシンセット内の .spec.authoritativeAPI フィールドと .spec.template.spec.authoritativeAPI フィールドの値によって異なります。

Expand
表11.5 コンピュートマシンを作成する際の authoritativeAPI フィールド間の相互作用

.spec.authoritativeAPI

ClusterAPI

ClusterAPI

MachineAPI

MachineAPI

.spec.template.spec.authoritativeAPI

ClusterAPI

MachineAPI

MachineAPI

ClusterAPI

新しいコンピュートマシンの authoritativeAPI

ClusterAPI

ClusterAPI

MachineAPI

ClusterAPI

注記

.spec.authoritativeAPI 値が ClusterAPI の場合、Machine API マシンセットは authoritative ではないため、.spec.template.spec.authoritativeAPI 値は使用されません。その結果、Machine API を authoritative として持つコンピュートマシンを作成する唯一の組み合わせは、.spec.authoritativeAPI.spec.template.spec.authoritativeAPI の値が MachineAPI である場合です。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る