11.2. Cluster API の使用開始


Machine API と Cluster API は、同様のリソースを持つ異なる API グループです。これらの API グループを使用して、OpenShift Container Platform クラスター上のインフラストラクチャーリソースの管理を自動化できます。

重要

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

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

3 つのコントロールプレーンノードと 3 つのコンピュートノードを持ち、デフォルトの設定オプションを使用する標準の OpenShift Container Platform クラスターをインストールすると、インストールプログラムは openshift-machine-api namespace に以下のインフラストラクチャーリソースをプロビジョニングします。

  • 3 つのコントロールプレーンマシンを管理する 1 つのコントロールプレーンマシンセット。
  • 3 台のコンピュートマシンを管理する 1 つ以上のコンピュートマシンセット。
  • スポットインスタンスを管理する 1 つのマシンヘルスチェック。

Cluster API を使用してインフラストラクチャーリソースの管理をサポートするクラスターをインストールすると、インストールプログラムは openshift-cluster-api namespace に以下のリソースをプロビジョニングします。

  • 1 つのクラスターリソース。
  • 1 つのプロバイダー固有のインフラストラクチャークラスターリソース。

Machine API リソースから Cluster API リソースへの移行をサポートするクラスターでは、双方向同期コントローラーによってこれらのプライマリーリソースが自動的に作成されます。詳細は、「Machine API から Cluster API へのリソースの移行」を参照してください。

11.2.1. Cluster API のプライマリーリソースの作成

Machine API リソースから Cluster API リソースへの移行をサポートしていないクラスターの場合は、openshift-cluster-api namespace に次の Cluster API リソースを手動で作成する必要があります。

  • コンピュートマシンセットに対応する 1 つ以上のマシンテンプレート。
  • 3 台のコンピュートマシンを管理する 1 つ以上のコンピュートマシンセット。

11.2.1.1. Cluster API のマシンテンプレートの作成

YAML マニフェストファイルを作成し、それを OpenShift CLI (oc) で適用することで、プロバイダー固有のマシンテンプレートリソースを作成できます。

前提条件

  • OpenShift Container Platform クラスターをデプロイした。
  • Cluster API の使用を有効化している。
  • cluster-admin 権限を持つアカウントを使用してクラスターにアクセスできる。
  • OpenShift CLI (oc) がインストールされている。

手順

  1. 次の例のような YAML ファイルを作成します。この手順では、ファイル名の例として <machine_template_resource_file>.yaml を使用します。

    apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
    kind: <machine_template_kind>
    metadata:
      name: <template_name>
      namespace: openshift-cluster-api
    spec:
      template:
        spec:

    各項目の説明:

    kind
    マシンテンプレートの種類を指定します。この値は、プラットフォームの値と一致する必要があります。

    次の値が有効です。

    Expand
    クラスターインフラストラクチャープロバイダー

    Amazon Web Services (AWS)

    AWSMachineTemplate

    Google Cloud

    GCPMachineTemplate

    Microsoft Azure

    AzureMachineTemplate

    Red Hat OpenStack Platform (RHOSP)

    OpenStackMachineTemplate

    VMware vSphere

    VSphereMachineTemplate

    ベアメタル

    Metal3MachineTemplate

    metadata.name
    マシンテンプレートの名前を指定します。
    spec.template.spec
    環境の詳細を指定します。これらのパラメーターはプロバイダー固有です。詳細は、各プロバイダーの Cluster API マシンテンプレートのサンプル YAML を参照してください。
  2. 次のコマンドを実行して、マシンテンプレート CR を作成します。

    $ oc create -f <machine_template_resource_file>.yaml

検証

  • 次のコマンドを実行して、マシンテンプレート CR が作成されたことを確認します。

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

    <machine_template_kind> は、プラットフォームに対応する値に置き換えます。

    出力例

    NAME              AGE
    <template_name>   77m

11.2.1.2. Cluster API のコンピュートマシンセットの作成

Cluster API を使用して、選択した特定のワークロードのマシンコンピュートリソースを動的に管理するマシンセットを作成できます。

前提条件

  • OpenShift Container Platform クラスターをデプロイした。
  • Cluster API の使用を有効化している。
  • cluster-admin 権限を持つアカウントを使用してクラスターにアクセスできる。
  • OpenShift CLI (oc) がインストールされている。
  • マシンテンプレートリソースを作成している。

手順

  1. 以下のような YAML ファイルを作成します。この手順では、ファイル名の例として <machine_set_resource_file>.yaml を使用します。

    apiVersion: cluster.x-k8s.io/v1beta1
    kind: MachineSet
    metadata:
      name: <machine_set_name>
      namespace: openshift-cluster-api
    spec:
      clusterName: <cluster_name>
      replicas: 1
      selector:
        matchLabels:
          test: example
      template:
        metadata:
          labels:
            test: example
        spec:
    # ...

    各項目の説明:

    metadata.name
    コンピュートマシンセットの名前を指定します。通常、この値のパターンは、クラスター ID、マシンのロール、およびリージョンにより、<cluster_name>-<role>-<region> という形で構成されます。
    spec.clusterName
    クラスターの名前を指定します。次のコマンドを実行して、クラスター ID 値を取得します。
    $  oc get infrastructure cluster \
       -o jsonpath='{.status.infrastructureName}'
    spec.template.spec
    環境の詳細を指定します。これらのパラメーターはプロバイダー固有です。詳細は、各プロバイダーの Cluster API コンピュートマシンセットのサンプル YAML を参照してください。
  2. 次のコンピュートコマンドを実行して、マシンセット CR を作成します。

    $ oc create -f <machine_set_resource_file>.yaml
  3. 次のコマンドを実行して、コンピュートマシンセット CR が作成されたことを確認します。

    $ oc get machineset.cluster.x-k8s.io -n openshift-cluster-api

    出力例

    NAME                 CLUSTER          REPLICAS   READY   AVAILABLE   AGE   VERSION
    <machine_set_name>   <cluster_name>   1          1       1           17m

    新しいコンピュートマシンセットが利用可能な場合、REPLICASAVAILABLE の値が一致します。コンピュートマシンセットが使用できない場合は、数分待ってからコマンドを再実行してください。

検証

  • コンピュートマシンセットが必要な設定に従ってマシンを作成していることを確認するには、次のコマンドを実行して、クラスター内のマシンとノードのリストを確認します。

    • Cluster API マシンのリストを表示します。

      $ oc get machine.cluster.x-k8s.io -n openshift-cluster-api

      出力例

      NAME                             CLUSTER          NODENAME                                 PROVIDERID      PHASE     AGE     VERSION
      <machine_set_name>-<string_id>   <cluster_name>   <ip_address>.<region>.compute.internal   <provider_id>   Running   8m23s

    • ノードのリストを表示します。

      $ oc get node

      出力例

      NAME                                       STATUS   ROLES    AGE     VERSION
      <ip_address_1>.<region>.compute.internal   Ready    worker   5h14m   v1.28.5
      <ip_address_2>.<region>.compute.internal   Ready    master   5h19m   v1.28.5
      <ip_address_3>.<region>.compute.internal   Ready    worker   7m      v1.28.5

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る