13.2. Cluster API の使用開始


重要

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

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

テクノロジープレビューの Cluster API では、Cluster API に必要なプライマリーリソースを手動で作成する必要があります。

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

Cluster API のプライマリーリソースを作成するには、クラスター ID 値を取得する必要があります。この値は、クラスターリソースマニフェストの <cluster_name> パラメーターに使用します。

13.2.1.1. クラスター ID 値の取得

クラスター ID 値は、OpenShift CLI (oc) を使用して確認できます。

前提条件

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

手順

  • 次のコマンドを実行して、クラスター ID 値を取得します。

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

YAML マニフェストファイルを作成し、OpenShift CLI (oc) を使用して適用することで、Cluster API のプライマリーリソースを手動で作成できます。

13.2.1.2. Cluster API のクラスターリソースの作成

YAML マニフェストファイルを作成し、それを OpenShift CLI (oc) で適用することで、クラスターリソースを作成できます。

前提条件

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

手順

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

    apiVersion: cluster.x-k8s.io/v1beta1
    kind: Cluster
    metadata:
      name: <cluster_name> 1
      namespace: openshift-cluster-api
    spec:
      infrastructureRef:
        apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
        kind: <infrastructure_kind> 2
        name: <cluster_name>
        namespace: openshift-cluster-api
    1
    クラスターの名前としてクラスター ID を指定します。
    2
    クラスターのインフラストラクチャーの種類を指定します。次の値が有効です。
    • AWSCluster: クラスターが Amazon Web Services (AWS) で実行されている場合。
    • GCPCluster: クラスターが Google Cloud Platform (GCP) で実行されている場合。
  2. 次のコマンドを実行して、クラスターを作成します。

    $ oc create -f <cluster_resource_file>.yaml

検証

  • 次のコマンドを実行して、クラスター CR が存在することを確認します。

    $ oc get cluster

    出力例

    NAME             PHASE          AGE    VERSION
    <cluster_name>   Provisioning   4h6m

    PHASE の値が Provisioned の場合、クラスターリソースの準備が完了しています。

関連情報

13.2.1.3. Cluster API のインフラストラクチャーリソースの作成

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

前提条件

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

手順

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

    apiVersion: infrastructure.cluster.x-k8s.io/<version> 1
    kind: <infrastructure_kind> 2
    metadata:
      name: <cluster_name> 3
      namespace: openshift-cluster-api
    spec: 4
    1
    apiVersion はプラットフォームによって異なります。詳細は、各プロバイダーの Cluster API インフラストラクチャーリソースのサンプル YAML を参照してください。次の値が有効です。
    • Infrastructure.cluster.x-k8s.io/v1beta1: Google Cloud Platform (GCP) クラスターが使用するバージョン。
    • Infrastructure.cluster.x-k8s.io/v1beta1: Amazon Web Services (AWS) クラスターが使用するバージョン。
    2
    クラスターのインフラストラクチャーの種類を指定します。この値は、プラットフォームの値と一致する必要があります。次の値が有効です。
    • AWSCluster: クラスターが AWS 上で実行されている場合。
    • GCPCluster: クラスターが GCP 上で実行されている場合。
    3
    クラスターの名前を指定します。
    4
    環境の詳細を指定します。これらのパラメーターはプロバイダー固有です。詳細は、各プロバイダーの Cluster API インフラストラクチャーリソースのサンプル YAML を参照してください。
  2. 次のコマンドを実行して、インフラストラクチャー CR を作成します。

    $ oc create -f <infrastructure_resource_file>.yaml

検証

  • 次のコマンドを実行して、インフラストラクチャー CR が作成されたことを確認します。

    $ oc get <infrastructure_kind>

    <infrastructure_kind> は、プラットフォームに対応する値です。

    出力例

    NAME             CLUSTER          READY
    <cluster_name>   <cluster_name>   true

    注記

    この出力には、クラウドプロバイダーに固有の追加の列が含まれている場合があります。

13.2.1.4. 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> 1
    metadata:
      name: <template_name> 2
      namespace: openshift-cluster-api
    spec:
      template:
        spec: 3
    1
    マシンテンプレートの種類を指定します。この値は、プラットフォームの値と一致する必要があります。次の値が有効です。
    • AWSMachineTemplate: クラスターが Amazon Web Services (AWS) 上で実行されている場合。
    • GCPMachineTemplate: クラスターが Google Cloud Platform (GCP) 上で実行されている場合。
    2
    マシンテンプレートの名前を指定します。
    3
    環境の詳細を指定します。これらのパラメーターはプロバイダー固有です。詳細は、各プロバイダーの Cluster API マシンテンプレートのサンプル YAML を参照してください。
  2. 次のコマンドを実行して、マシンテンプレート CR を作成します。

    $ oc create -f <machine_template_resource_file>.yaml

検証

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

    $ oc get <machine_template_kind>

    <machine_template_kind> は、プラットフォームに対応する値です。

    出力例

    NAME              AGE
    <template_name>   77m

13.2.1.5. 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> 1
      namespace: openshift-cluster-api
    spec:
      clusterName: <cluster_name> 2
      replicas: 1
      selector:
        matchLabels:
          test: example
      template:
        metadata:
          labels:
            test: example
        spec: 3
    # ...
    1
    コンピュートマシンセットの名前を指定します。
    2
    クラスターの名前を指定します。
    3
    環境の詳細を指定します。これらのパラメーターはプロバイダー固有です。詳細は、各プロバイダーの Cluster API コンピュートマシンセットのサンプル YAML を参照してください。
  2. 次のコンピュートコマンドを実行して、マシンセット CR を作成します。

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

    $ oc get machineset -n openshift-cluster-api 1
    1
    openshift-cluster-api namespace を指定します。

    出力例

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

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

検証

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

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

      $ oc get machine -n openshift-cluster-api 1
      1
      openshift-cluster-api namespace を指定します。

      出力例

      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 をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

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

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

会社概要

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

© 2024 Red Hat, Inc.