12.2. サンプル YAML ファイル


Cluster API テクノロジープレビューの場合、Cluster API が必要とするプライマリーリソースを手動で作成する必要があります。このセクションのサンプル YAML ファイルは、これらのリソースを連携させて、それらが作成するマシンを環境に応じて設定する方法を示しています。

12.2.1. Cluster API クラスターリソースのサンプル YAML

クラスターリソースは、クラスターの名前とインフラストラクチャープロバイダーを定義し、Cluster API によって管理されます。このリソースは、すべてのプロバイダーで同じ構造を持っています。

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> 3
    namespace: openshift-cluster-api
1 3
クラスターの名前を指定します。
2
クラスターのインフラストラクチャーの種類を指定します。有効な値は以下のとおりです。
  • AWSCluster: クラスターは Amazon Web Services (AWS) で実行されています。
  • GCPCluster : クラスターは Google Cloud Platform (GCP) で実行されています。

残りはプロバイダー固有の Cluster API リソースです。クラスターのサンプル YAML ファイルを参照してください。

12.2.2. Amazon Web Services クラスターを設定するサンプル YAML ファイル

一部の Cluster API リソースはプロバイダー固有です。このセクションのサンプル YAML ファイル、Amazon Web Services (AWS) クラスターの設定を示しています。

12.2.2.1. Amazon Web Services 上の Cluster API インフラストラクチャーリソースのサンプル YAML

インフラストラクチャーリソースはプロバイダー固有であり、リージョンやサブネットなど、クラスター内のすべてのマシンセットで共有されるプロパティーを定義します。マシンセットは、マシン作成時にこのリソースを参照します。

apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: AWSCluster 1
metadata:
  name: <cluster_name> 2
  namespace: openshift-cluster-api
spec:
  region: <region> 3
1
クラスターのインフラストラクチャーの種類を指定します。この値は、プラットフォームの値と一致する必要があります。
2
クラスターの名前を指定します。
3
AWS リージョンを指定します。

12.2.2.2. Amazon Web Services の Cluster API マシンテンプレートリソースのサンプル YAML

マシンテンプレートリソースはプロバイダー固有であり、マシンセットが作成するマシンの基本的なプロパティーを定義します。マシンセットは、マシン作成時にこのテンプレートを参照します。

apiVersion: infrastructure.cluster.x-k8s.io/v1alpha4
kind: AWSMachineTemplate 1
metadata:
  name: <template_name> 2
  namespace: openshift-cluster-api
spec:
  template:
    spec: 3
      uncompressedUserData: true
      iamInstanceProfile: ....
      instanceType: m5.large
      cloudInit:
        insecureSkipSecretsManager: true
      ami:
        id: ....
      subnet:
        filters:
        - name: tag:Name
          values:
          - ...
      additionalSecurityGroups:
      - filters:
        - name: tag:Name
          values:
          - ...
1
マシンテンプレートの種類を指定します。この値は、プラットフォームの値と一致する必要があります。
2
マシンテンプレートの名前を指定します。
3
環境の詳細を指定します。ここに示す値はサンプルです。

12.2.2.3. Amazon Web Services の Cluster API マシンセットリソースのサンプル YAML

マシンセットリソースは、作成するマシンの追加プロパティーを定義します。マシンセットは、マシン作成時にインフラストラクチャーリソースとマシンテンプレートも参照します。

apiVersion: cluster.x-k8s.io/v1alpha4
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:
      bootstrap:
         dataSecretName: worker-user-data 3
      clusterName: <cluster_name> 4
      infrastructureRef:
        apiVersion: infrastructure.cluster.x-k8s.io/v1alpha4
        kind: AWSMachineTemplate 5
        name: <cluster_name> 6
1
マシンセットの名前を指定します。
2 4 6
クラスターの名前を指定します。
3
Cluster API テクノロジープレビューの場合、Operator は openshift-machine-api namespace のワーカーユーザーデータシークレットを使用できます。
5
マシンテンプレートの種類を指定します。この値は、プラットフォームの値と一致する必要があります。

12.2.3. Google Cloud Platform クラスターを設定するサンプル YAML ファイル

一部の Cluster API リソースはプロバイダー固有です。このセクションのサンプル YAML ファイルは、Google Cloud Platform (GCP) クラスターの設定を示しています。

12.2.3.1. Google Cloud Platform 上の Cluster API インフラストラクチャーリソースのサンプル YAML

インフラストラクチャーリソースはプロバイダー固有であり、リージョンやサブネットなど、クラスター内のすべてのマシンセットで共有されるプロパティーを定義します。マシンセットは、マシン作成時にこのリソースを参照します。

apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: GCPCluster 1
metadata:
  name: <cluster_name> 2
spec:
  network:
    name: <cluster_name>-network 3
  project: <project> 4
  region: <region> 5
1
クラスターのインフラストラクチャーの種類を指定します。この値は、プラットフォームの値と一致する必要があります。
2 3
クラスターの名前を指定します。
4
GCP プロジェクト名を指定します。
5
GCP リージョンを指定します。

12.2.3.2. Google Cloud Platform 上の Cluster API マシンテンプレートリソースのサンプル YAML

マシンテンプレートリソースはプロバイダー固有であり、マシンセットが作成するマシンの基本的なプロパティーを定義します。マシンセットは、マシン作成時にこのテンプレートを参照します。

apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: GCPMachineTemplate 1
metadata:
  name: <template_name> 2
  namespace: openshift-cluster-api
spec:
  template:
    spec: 3
      rootDeviceType: pd-ssd
      rootDeviceSize: 128
      instanceType: n1-standard-4
      image: projects/rhcos-cloud/global/images/rhcos-411-85-202203181601-0-gcp-x86-64
      subnet: <cluster_name>-worker-subnet
      serviceAccounts:
        email: <service_account_email_address>
        scopes:
          - https://www.googleapis.com/auth/cloud-platform
      additionalLabels:
        kubernetes-io-cluster-<cluster_name>: owned
      additionalNetworkTags:
        - <cluster_name>-worker
      ipForwarding: Disabled
1
マシンテンプレートの種類を指定します。この値は、プラットフォームの値と一致する必要があります。
2
マシンテンプレートの名前を指定します。
3
環境の詳細を指定します。ここに示す値はサンプルです。

12.2.3.3. Google Cloud Platform 上の Cluster API マシンセットリソースのサンプル 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: test
  template:
    metadata:
      labels:
        test: test
    spec:
      bootstrap:
         dataSecretName: worker-user-data 3
      clusterName: <cluster_name> 4
      infrastructureRef:
        apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
        kind: GCPMachineTemplate 5
        name: <machine_set_name> 6
      failureDomain: <failure_domain> 7
1 6
マシンセットの名前を指定します。
2 4
クラスターの名前を指定します。
3
Cluster API テクノロジープレビューの場合、Operator は openshift-machine-api namespace のワーカーユーザーデータシークレットを使用できます。
5
マシンテンプレートの種類を指定します。この値は、プラットフォームの値と一致する必要があります。
7
GCP リージョン内の障害ドメインを指定します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.