|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
ClusterClass
このセクションでは、https://cluster-api.sigs.k8s.io/tasks/experimental-features/cluster-class/[ClusterClass]をSUSE® Rancher Prime Cluster APIと共に使用する方法を説明します。
前提条件
-
SUSE® Rancher Prime Cluster APIがインストールされたRancher Managerクラスター
-
すべてのClusterClassesを使用するためには、https://github.com/rancher/cluster-api-addon-provider-fleet[CAAPF]プロバイダーを事前にインストールする必要があります。
-
CAAPFプロバイダーのインストール例:
クリックして開く
apiVersion: v1 kind: Namespace metadata: name: fleet-addon-system --- apiVersion: turtles-capi.cattle.io/v1alpha1 kind: CAPIProvider metadata: name: fleet namespace: fleet-addon-system spec: name: rancher-fleet type: addon
-
|
CAAPFは`WatchList` Kubernetes機能ゲートに依存しています。この機能は、Kubernetes |
-
エンジンによっては、https://github.com/rancher/cluster-api-provider-rke2[CAPRKE2]またはhttps://github.com/kubernetes-sigs/cluster-api[Kubeadm]のブートストラップ/コントロールプレーンのインストールが必要です。
-
CAPRKE2
-
Kubeadm
ブートストラップおよびコントロールプレーンプロバイダーのインストール:
クリックして開く
apiVersion: v1 kind: Namespace metadata: name: rke2-bootstrap-system --- apiVersion: turtles-capi.cattle.io/v1alpha1 kind: CAPIProvider metadata: name: rke2-bootstrap namespace: rke2-bootstrap-system spec: name: rke2 type: bootstrap --- apiVersion: v1 kind: Namespace metadata: name: rke2-control-plane-system --- apiVersion: turtles-capi.cattle.io/v1alpha1 kind: CAPIProvider metadata: name: rke2-control-plane namespace: rke2-control-plane-system spec: name: rke2 type: controlPlaneブートストラップおよびコントロールプレーンプロバイダーのインストール:
クリックして開く
apiVersion: v1 kind: Namespace metadata: name: capi-kubeadm-bootstrap-system --- apiVersion: turtles-capi.cattle.io/v1alpha1 kind: CAPIProvider metadata: name: kubeadm-bootstrap namespace: capi-kubeadm-bootstrap-system spec: name: kubeadm type: bootstrap --- apiVersion: v1 kind: Namespace metadata: name: capi-kubeadm-control-plane-system --- apiVersion: turtles-capi.cattle.io/v1alpha1 kind: CAPIProvider metadata: name: kubeadm-control-plane namespace: capi-kubeadm-control-plane-system spec: name: kubeadm type: controlPlane -
セットアップ
-
Azure
-
AWS
-
GCP
-
Docker
-
vSphere
管理クラスターを準備するために、https://capz.sigs.k8s.io/[Cluster API Provider Azure]をインストールし、新しいクラスターをAzureにプロビジョニングするためのhttps://capz.sigs.k8s.io/topics/identities#service-principal[ServicePrincipal]アイデンティティを作成します。
開始する前に、Azureサブスクリプションに対して少なくとも貢献者のアクセス権を持つServicePrincipalを作成する必要があります。 詳細については、https://capz.sigs.k8s.io/topics/identities[CAPZドキュメント]を参照してください。
-
プロバイダーのインストール
apiVersion: v1 kind: Namespace metadata: name: capz-system --- apiVersion: turtles-capi.cattle.io/v1alpha1 kind: CAPIProvider metadata: name: azure namespace: capz-system spec: type: infrastructure name: azure -
アイデンティティの設定
AKSクラスターのプロビジョニングのための認証AKSにマネージドクラスターをデプロイする場合、アイデンティティの設定ステップをスキップして、ClusterClassからクラスターを作成しますに進むことができます。 `AzureClusterIdentity`を使用する代わりに、クラスターのマニフェストを適用するためにAzure Service Operatorが使用するService Principalの資格情報を持つ`Secret`を作成します。
この例では、Azureクラスターをプロビジョニングするために`AzureClusterIdentity`を使用します。 Service Principalの資格情報を含むSecretを最初に作成し、`AzureClusterIdentity`リソースによって参照される必要があります。 `AzureClusterIdentity`はネームスペースリソースであり、クラスターと同じネームスペースで作成する必要があることに注意してください。 Azureアイデンティティを使用する際のベストプラクティスに関する詳細情報は、公式のhttps://capz.sigs.k8s.io/topics/identities-use-cases[ドキュメント]を参照してください。
いくつかの変数はユーザーが置き換える必要があることに注意してください。
apiVersion: v1 kind: Secret metadata: name: <AZURE_CLUSTER_IDENTITY_SECRET_NAME> namespace: <AZURE_CLUSTER_IDENTITY_SECRET_NAMESPACE> type: Opaque stringData: clientSecret: <AZURE_CLIENT_SECRET> --- apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 kind: AzureClusterIdentity metadata: labels: clusterctl.cluster.x-k8s.io/move-hierarchy: "true" name: cluster-identity spec: allowedNamespaces: {} clientID: <AZURE_APP_ID> clientSecret: name: <AZURE_CLUSTER_IDENTITY_SECRET_NAME> namespace: <AZURE_CLUSTER_IDENTITY_SECRET_NAMESPACE> tenantID: <AZURE_TENANT_ID> type: ServicePrincipal
管理クラスターを準備するために、https://cluster-api-aws.sigs.k8s.io/[Cluster API Provider AWS]をインストールし、新しいクラスターをAWSにプロビジョニングするために必要な資格情報を持つシークレットを作成します。 グローバル資格情報は空白に設定されており、代わりに`AWSClusterStaticIdentity`を使用します。
-
プロバイダーのインストール
apiVersion: turtles-capi.cattle.io/v1alpha1 kind: CAPIProvider metadata: name: aws namespace: capa-system spec: type: infrastructure variables: AWS_B64ENCODED_CREDENTIALS: "" -
アイデンティティの設定
この例では、AWSクラスターをプロビジョニングするために`AWSClusterStaticIdentity`を使用します。
資格情報を含むSecretは、AWSプロバイダーがインストールされているネームスペースで作成する必要があります。
資格情報の設定方法に関する詳細情報は、clusterawsadmドキュメントを参照してください。
`AWSClusterStaticIdentity`はこのSecretを参照してクラスターのプロビジョニングを許可できます。この例では、すべてのネームスペースでアイデンティティの使用を許可しているため、簡単に再利用できます。
アイデンティティ管理について詳しく知りたい場合は、公式ドキュメントを参照してください。いくつかの変数はユーザーが置き換える必要があることに注意してください。
apiVersion: v1 kind: Secret metadata: name: <AWS_IDENTITY_SECRET_NAME> namespace: capa-system type: Opaque stringData: AccessKeyID: <AWS_ACCESS_KEY_ID> SecretAccessKey: <AWS_SECRET_ACCESS_KEY> --- apiVersion: infrastructure.cluster.x-k8s.io/v1beta2 kind: AWSClusterStaticIdentity metadata: name: cluster-identity spec: secretRef: <AWS_IDENTITY_SECRET_NAME> allowedNamespaces: {}
管理クラスターを準備するために、https://cluster-api-gcp.sigs.k8s.io/[Cluster API Provider GCP]をインストールし、新しいクラスターをGCPにプロビジョニングするために必要な資格情報を持つシークレットを作成します。 GCPでクラスターを作成および管理するにはService Accountが必要で、これには`Editor`の権限が必要です。https://cluster-api-gcp.sigs.k8s.io/quick-start#create-a-service-account[CAPG Book]の公式ガイドに従うことができます。 base64エンコードされたサービスアカウントキーは、プロバイダーの`GCP_B64ENCODED_CREDENTIALS`変数に設定する必要があります。
-
プロバイダーのインストール
apiVersion: turtles-capi.cattle.io/v1alpha1 kind: CAPIProvider metadata: name: gcp namespace: capg-system spec: type: infrastructure variables: GCP_B64ENCODED_CREDENTIALS: xxx -
ネットワークのセットアップ
自己管理型GCPクラスターのプロビジョニングには、GCPネットワークがKubernetesノードとコントロールプレーン間の通信を許可し、コンテナレジストリからイメージを取得するために、マシンがNATアクセスまたはパブリックIPを持つように構成されている必要があります。 デフォルトのプロバイダーの動作は、パブリックIPが付いていない仮想マシンを作成することですので、ノードがロードバランサーおよび外部世界と接続を確立するためには、https://cloud.google.com/nat/docs/overview[Cloud NAT]が必要です。 自己管理型GCPクラスターをプロビジョニングするためにGCPネットワークを準備する方法については、公式のhttps://cluster-api-gcp.sigs.k8s.io/prerequisites#configure-network-and-cloud-nat[CAPG Book]ガイドを参照してください。
クラスターのプロビジョニングのためにGCPネットワークを準備するには、以下の手順が必要です:
-
ルーターを作成します。
-
ルーターに関連付けられたNATを作成します。
-
管理クラスターを準備するために、DockerクラスターAPIプロバイダーをインストールします。
-
インフラストラクチャ Dockerプロバイダーのインストール
apiVersion: v1 kind: Namespace metadata: name: capd-system --- apiVersion: turtles-capi.cattle.io/v1alpha1 kind: CAPIProvider metadata: name: docker namespace: capd-system spec: type: infrastructure
管理クラスターを準備するために、https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/blob/main/docs/getting_started.md[Cluster API Provider vSphere]をインストールします。 グローバル資格情報は空白に設定されており、代わりに`VSphereClusterIdentity`を使用します。
-
プロバイダーのインストール
apiVersion: v1 kind: Namespace metadata: name: capv-system --- apiVersion: turtles-capi.cattle.io/v1alpha1 kind: CAPIProvider metadata: name: vsphere namespace: capv-system spec: type: infrastructure variables: VSPHERE_USERNAME: "" VSPHERE_PASSWORD: "" -
アイデンティティの設定
この例では、vSphereクラスターをプロビジョニングするために`VSphereClusterIdentity`を使用します。
vSphereプロバイダーがインストールされているネームスペースに、資格情報を含むシークレットを作成する必要があります。 `VSphereClusterIdentity`は、このシークレットを参照してクラスターのプロビジョニングを許可できます。この例では、すべてのネームスペースでアイデンティティの使用を許可しているため、簡単に再利用できます。 アイデンティティ管理について詳しく知るには、https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/blob/main/docs/identity_management.md[公式ドキュメント]を参照できます。apiVersion: v1 kind: Secret metadata: name: cluster-identity namespace: capv-system type: Opaque stringData: username: xxx password: xxx --- apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 kind: VSphereClusterIdentity metadata: name: cluster-identity spec: secretName: cluster-identity allowedNamespaces: selector: matchLabels: {}
ClusterClassからクラスターを作成します。
-
Azure RKE2
-
Azure AKS
-
Azure Kubeadm
-
AWS EKS
-
AWS Kubeadm
-
AWS RKE2
-
GCP GKE
-
GCP Kubeadm
-
Docker Kubeadm
-
Docker RKE2
-
vSphere Kubeadm
-
vSphere RKE2
-
Azure ClusterClassは、https://github.com/rancher/turtles/tree/main/examples/clusterclasses[Turtles examples]の中に見つけることができます。
Azure Cloud ProviderやCalico CNIのようなアプリケーションは、ダウンストリームクラスターにインストールされます。これは、特定のラベル(`cloud-provider: azure`や`cni: calico`など)を持つターゲットクラスターによってクラスター作成時に自動的に行われます。
-
CLI
-
kubectl
Azure RKE2 ClusterClassと関連するアプリケーションは、例のツールを使用して適用できます。
go run github.com/rancher/turtles/examples@v0.26.0 -r azure-rke2 | kubectl apply -f --
また、kubectlを使用してAzure RKE2 ClusterClassを直接適用することもできます。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/clusterclasses/azure/rke2/clusterclass-rke2-example.yaml -
さらに、https://capz.sigs.k8s.io/self-managed/cloud-provider-config[Azure Cloud Provider]は、各ダウンストリームクラスターにインストールする必要があります。そうしないと、ノードが正しく初期化されません。 この例では、デフォルトのCNIとしてhttps://docs.tigera.io/calico/latest/about/[Calico]もインストールします。
これを、https://rancher.github.io/cluster-api-addon-provider-fleet/[Cluster API Add-on Provider Fleet]を使用してクラスター作成時に自動的に行うことができます。 新しいダウンストリームクラスターにラベルセレクタを介して適用するために、最初に2つの`HelmOps`を作成する必要があります。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/ccm/azure/helm-chart.yaml kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/cni/calico/helm-chart.yaml
-
-
例のClusterClassからAzureクラスターを作成します。
いくつかの変数はユーザーが置き換える必要があることに注意してください。
apiVersion: cluster.x-k8s.io/v1beta2 kind: Cluster metadata: labels: cluster-api.cattle.io/rancher-auto-import: "true" cloud-provider: azure cni: calico name: azure-quickstart spec: clusterNetwork: pods: cidrBlocks: - 192.168.0.0/16 topology: classRef: name: azure-rke2-example controlPlane: replicas: 1 variables: - name: subscriptionID value: <AZURE_SUBSCRIPTION_ID> - name: location value: <AZURE_LOCATION> - name: resourceGroup value: <AZURE_RESOURCE_GROUP> - name: azureClusterIdentityName value: cluster-identity version: v1.34.3+rke2r1 workers: machineDeployments: - class: rke2-default-worker name: md-0 replicas: 1
-
Azure AKS ClusterClassは、https://github.com/rancher/turtles/tree/main/examples/clusterclasses[Turtles examples]の中に見つけることができます。
-
CLI
-
kubectl
例のツールを使用してAzure AKS ClusterClassを適用できます。
go run github.com/rancher/turtles/examples@v0.26.0 -r azure-aks | kubectl apply -f --
また、kubectlを使用してAzure AKS ClusterClassを直接適用することもできます。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/clusterclasses/azure/aks/clusterclass-aks-example.yaml
-
-
例のClusterClassからAzure AKSクラスターを作成します。
Azure AKS
ClusterClass`は、`Cluster`から作成され、Azure Service Operatorによって管理される`AzureASOManagedCluster、AzureASOManagedControlPlane、`AzureASOManagedMachinePool`リソースを使用します。 このため、自己管理型Azureクラスター(例:RKE2を使用したAzure)に対して使用するような`AzureClusterIdentity`は使用しません。代わりに、`Secret`が`Cluster`と同じネームスペースにService Principalの資格情報で作成されます。 `Secret`の定義は、簡単のために`Cluster`マニフェストに埋め込まれていますが、事前に作成することもできます。この認証方法についての詳細は、https://azure.github.io/azure-service-operator/guide/authentication/[Azure Service Operatorのドキュメント]を参照してください。
いくつかの変数はユーザーが置き換える必要があることに注意してください。
apiVersion: v1 kind: Secret metadata: name: aks-credentials stringData: AZURE_SUBSCRIPTION_ID: <AZURE_SUBSCRIPTION_ID> AZURE_TENANT_ID: <AZURE_TENANT_ID> AZURE_CLIENT_ID: <AZURE_CLIENT_ID> AZURE_CLIENT_SECRET: <AZURE_CLIENT_SECRET> type: Opaque --- apiVersion: cluster.x-k8s.io/v1beta2 kind: Cluster metadata: labels: cluster-api.cattle.io/rancher-auto-import: "true" name: azure-aks-quickstart spec: clusterNetwork: pods: cidrBlocks: - 192.168.0.0/16 topology: class: azure-aks-example variables: - name: location value: <AZURE_LOCATION> - name: resourceGroup value: <AZURE_RESOURCE_GROUP> - name: asoCredentialSecretName value: aks-credentials version: v1.34.2 workers: machinePools: - class: default-system name: system-1 replicas: 1 - class: default-worker name: worker-1 replicas: 1
-
Azure ClusterClassは、https://github.com/rancher/turtles/tree/main/examples/clusterclasses[Turtles examples]の中に見つけることができます。
Azure Cloud ProviderやCalico CNIのようなアプリケーションは、ダウンストリームクラスターにインストールされます。これは、特定のラベル(`cloud-provider: azure`や`cni: calico`など)を持つターゲットクラスターによってクラスター作成時に自動的に行われます。
-
CLI
-
kubectl
Azure RKE2 ClusterClassと関連するアプリケーションは、例のツールを使用して適用できます。
go run github.com/rancher/turtles/examples@v0.26.0 -r azure-rke2 | kubectl apply -f --
また、kubectlを使用してAzure RKE2 ClusterClassを直接適用することもできます。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/clusterclasses/azure/kubeadm/clusterclass-kubeadm-example.yaml -
さらに、https://capz.sigs.k8s.io/self-managed/cloud-provider-config[Azure Cloud Provider]は、各ダウンストリームクラスターにインストールする必要があります。そうしないと、ノードが正しく初期化されません。この例では、デフォルトのCNIとしてhttps://docs.tigera.io/calico/latest/about/[Calico]もインストールします。
これを、https://rancher.github.io/cluster-api-addon-provider-fleet/[Cluster API Add-on Provider Fleet]を使用してクラスター作成時に自動的に行うことができます。新しいクラスターにラベルセレクターを介して適用するために、最初に2つの`HelmOps`を作成する必要があります。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/ccm/azure/helm-chart.yaml kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/cni/calico/helm-chart.yaml
-
-
例のClusterClassからAzureクラスターを作成します。
いくつかの変数はユーザーが置き換える必要があることに注意してください。
apiVersion: cluster.x-k8s.io/v1beta2 kind: Cluster metadata: labels: cluster-api.cattle.io/rancher-auto-import: "true" cloud-provider: azure cni: calico name: azure-kubeadm-quickstart spec: clusterNetwork: pods: cidrBlocks: - 192.168.0.0/16 topology: classRef: name: azure-kubeadm-example controlPlane: replicas: 1 variables: - name: subscriptionID value: <AZURE_SUBSCRIPTION_ID> - name: location value: <AZURE_LOCATION> - name: resourceGroup value: <AZURE_RESOURCE_GROUP> - name: azureClusterIdentityName value: cluster-identity version: v1.34.3 workers: machineDeployments: - class: kubeadm-default-worker name: md-0 replicas: 1
-
AWS EKS ClusterClassは、https://github.com/rancher/turtles/tree/main/examples/clusterclasses[Turtles examples]の中に見つけることができます。
-
CLI
-
kubectl
AWS EKS ClusterClassと関連するアプリケーションは、例のツールを使用して適用できます:
go run github.com/rancher/turtles/examples@main -r aws-eks | kubectl apply -f --
また、kubectlを使用してAWS EKS ClusterClassを直接適用することもできます:
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/{turtles_version}/examples/clusterclasses/aws/eks/clusterclass-eks-example.yaml
-
-
例のClusterClassからAWSクラスターを作成します。
いくつかの変数はユーザーが置き換える必要があることに注意してください。
apiVersion: cluster.x-k8s.io/v1beta2 kind: Cluster metadata: labels: cluster-api.cattle.io/rancher-auto-import: "true" name: aws-quickstart spec: clusterNetwork: pods: cidrBlocks: - 192.168.0.0/16 topology: classRef: name: aws-eks-example variables: - name: region value: eu-west-2 - name: instanceType value: <AWS_NODE_MACHINE_TYPE> - name: awsClusterIdentityName value: cluster-identity version: v1.32.0 workers: machineDeployments: - class: default-worker name: md-0 replicas: 1
-
AWS Kubeadm ClusterClassは、https://github.com/rancher/turtles/tree/main/examples/clusterclasses[Turtles examples]の中に見つけることができます。
Calico CNI、https://github.com/kubernetes/cloud-provider-aws[AWS Cloud Controller Manager]、およびhttps://github.com/kubernetes-sigs/aws-ebs-csi-driver[AWS EBS CSI Driver]のようなアプリケーションは、ダウンストリームのクラスターにインストールされます。これは、
cni: calico、cloud-provider: aws、および`csi: aws-ebs-csi-driver`のような特定のラベルを持つターゲットクラスターによって、クラスター作成時に自動的に行われます。-
CLI
-
kubectl
AWS Kubeadm ClusterClassと関連するアプリケーションは、例のツールを使用して適用できます:
go run github.com/rancher/turtles/examples@v0.26.0 -r aws-kubeadm | kubectl apply -f --
また、kubectlを使用してAWS Kubeadm ClusterClassを直接適用することもできます:
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/clusterclasses/aws/kubeadm/clusterclass-kubeadm-example.yaml -
この例では、デフォルトのCNIとしてhttps://docs.tigera.io/calico/latest/about/[Calico]もインストールします。
-
AWS Cloud Controller Managerは、ノードが機能するために各ダウンストリームクラスターにインストールする必要があります。
-
さらに、https://github.com/kubernetes-sigs/aws-ebs-csi-driver[AWS EBS CSI Driver]も有効にします。
これを、https://rancher.github.io/cluster-api-addon-provider-fleet/[Cluster API Add-on Provider Fleet]を使用してクラスタ作成時に自動的に行うことができます。 新しいクラスターにラベルセレクターを介して適用するために、`HelmOps`を最初に作成する必要があります。これにより、ワークロードクラスターにCalico、EBS CSI Driver、およびAWS Cloud Controller Managerがデプロイされます。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/csi/aws/helm-chart.yaml kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/cni/aws/calico/helm-chart.yaml kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/ccm/aws/helm-chart.yaml
-
-
例のClusterClassからAWSクラスターを作成します。
いくつかの変数はユーザーが置き換える必要があることに注意してください。
apiVersion: cluster.x-k8s.io/v1beta2 kind: Cluster metadata: labels: cluster-api.cattle.io/rancher-auto-import: "true" cni: calico cloud-provider: aws csi: aws-ebs-csi-driver name: aws-quickstart spec: clusterNetwork: pods: cidrBlocks: - 192.168.0.0/16 topology: classRef: name: aws-kubeadm-example controlPlane: replicas: 3 variables: - name: region value: eu-west-2 - name: sshKeyName value: <AWS_SSH_KEY_NAME> - name: controlPlaneMachineType value: <AWS_CONTROL_PLANE_MACHINE_TYPE> - name: workerMachineType value: <AWS_NODE_MACHINE_TYPE> - name: awsClusterIdentityName value: cluster-identity version: v1.32.0 workers: machineDeployments: - class: default-worker name: md-0 replicas: 1
|
AWS+RKE2ワークロードクラスターを作成する前に、クラスターにインストールされるRKE2バージョンのAMIを構築するか、非エアギャップインストールに適したAMIを見つける必要があります。 RKE2イメージビルダーのREADMEの手順に従ってAMIを構築できます。 |
-
AWS RKE2 ClusterClassはhttps://github.com/rancher/turtles/tree/main/examples/clusterclasses[カメの例]の中に見つけることができます。
Calico CNI、https://github.com/kubernetes/cloud-provider-aws[AWS Cloud Controller Manager]、およびhttps://github.com/kubernetes-sigs/aws-ebs-csi-driver[AWS EBS CSI Driver]のようなアプリケーションは、ダウンストリームのクラスターにインストールされます。これは、
cni: calico、cloud-provider: aws、および`csi: aws-ebs-csi-driver`のような特定のラベルを持つターゲットクラスターによって、クラスター作成時に自動的に行われます。-
CLI
-
kubectl
AWS RKE2 ClusterClassと関連するアプリケーションは、例のツールを使用して適用できます。
go run github.com/rancher/turtles/examples@v0.26.0 -r aws-rke2 | kubectl apply -f --
また、kubectlを使用してAWS RKE2 ClusterClassを直接適用することもできます。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/clusterclasses/aws/rke2/clusterclass-ec2-rke2-example.yaml
-
-
この例では、デフォルトのCNIとしてhttps://docs.tigera.io/calico/latest/about/[Calico]もインストールします。
-
AWS Cloud Controller Managerは、ノードが機能するために各ダウンストリームクラスターにインストールする必要があります。
-
さらに、https://github.com/kubernetes-sigs/aws-ebs-csi-driver[AWS EBS CSI Driver]も有効にします。
これを、https://rancher.github.io/cluster-api-addon-provider-fleet/[Cluster API Add-on Provider Fleet]を使用してクラスタ作成時に自動的に行うことができます。 新しいクラスターにラベルセレクターを介して適用するために、`HelmOps`を最初に作成する必要があります。これにより、ワークロードクラスターにCalico、EBS CSI Driver、およびAWS Cloud Controller Managerをデプロイすることができます。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/csi/aws/helm-chart.yaml kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/cni/aws/calico/helm-chart.yaml kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/ccm/aws/helm-chart.yaml -
例のClusterClassからAWSクラスターを作成します。
いくつかの変数はユーザーが置き換える必要があることに注意してください。
apiVersion: cluster.x-k8s.io/v1beta2 kind: Cluster metadata: labels: cloud-provider: aws cni: calico csi: aws-ebs-csi-driver cluster-api.cattle.io/rancher-auto-import: "true" name: aws-quickstart spec: clusterNetwork: pods: cidrBlocks: - 192.168.0.0/16 topology: classRef: name: aws-rke2-example controlPlane: replicas: 3 variables: - name: cni value: none - name: region value: <AWS_REGION> - name: sshKeyName value: <AWS_SSH_KEY_NAME> - name: controlPlaneMachineType value: <AWS_RKE2_CONTROL_PLANE_MACHINE_TYPE> - name: workerMachineType value: <AWS_RKE2_NODE_MACHINE_TYPE> - name: amiID value: <AWS_AMI_ID> - name: awsClusterIdentityName value: cluster-identity version: v1.35.0+rke2r1 workers: machineDeployments: - class: default-worker name: md-0 replicas: 1
-
GCP GKE ClusterClassは、https://github.com/rancher/turtles/tree/main/examples/clusterclasses[カメの例]の中に見つけることができます。
-
CLI
-
kubectl
GCP GKE ClusterClassと関連するアプリケーションは、examplesツールを使用して適用できます。
go run github.com/rancher/turtles/examples@main -r gcp-gke | kubectl apply -f --
また、kubectlを使用してGCP GKE ClusterClassを直接適用することもできます。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/{turtles_version}/examples/clusterclasses/gcp/gke/clusterclass-gke-example.yaml
-
-
例のClusterClassからGCPクラスターを作成します。
いくつかの変数はユーザーが置き換える必要があることに注意してください。
apiVersion: cluster.x-k8s.io/v1beta2 kind: Cluster metadata: labels: cluster-api.cattle.io/rancher-auto-import: "true" name: gcp-quickstart spec: clusterNetwork: pods: cidrBlocks: - 192.168.0.0/16 topology: classRef: name: gcp-gke-example variables: - name: project value: ${GCP_PROJECT} - name: region value: ${GCP_REGION} - name: networkName value: ${GCP_NETWORK_NAME} version: v1.35.0 workers: machinePools: - class: default-system name: system-pool replicas: ${WORKER_MACHINE_COUNT} - class: default-worker name: worker-pool replicas: ${WORKER_MACHINE_COUNT}
|
GCP+Kubeadmワークロードクラスターを作成する前に、クラスターにインストールするKubernetesバージョンのイメージを構築するか、ユースケースに適したものを見つける必要があります。 Kubernetes GCP Image Builderの本の手順に従うことができます。 |
-
GCP Kubeadm ClusterClassは、https://github.com/rancher/turtles/tree/main/examples/clusterclasses[カメの例]の中に見つけることができます。
Calico CNIやhttps://github.com/kubernetes/cloud-provider-gcp[GCP Cloud Controller Manager]のようなアプリケーションは、ダウンストリームクラスターにインストールされます。これは、`cni: calico`や`cloud-provider: gcp`のような特定のラベルを持つターゲットクラスターによって、クラスター作成時に自動的に行われます。
-
CLI
-
kubectl
GCP Kubeadm ClusterClassと関連するアプリケーションは、例のツールを使用して適用できます。
go run github.com/rancher/turtles/examples@v0.26.0 -r gcp-kubeadm | kubectl apply -f --
また、kubectlを使用してGCP Kubeadm ClusterClassを直接適用することもできます。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/clusterclasses/gcp/kubeadm/clusterclass-kubeadm-example.yaml -
この例では、デフォルトのCNIとしてhttps://docs.tigera.io/calico/latest/about/[Calico]もインストールします。
-
GCP Cloud Controller Managerは、ノードが機能するために各ダウンストリームクラスターにインストールする必要があります。
Cluster API Add-on Provider Fleetとhttps://documentation.suse.com/cloudnative/continuous-delivery/latest/en/how-tos-for-users/bundle-add.html[Fleet Bundle]の組み合わせを使用して、クラスター作成時にこれを自動的に行うことができます。 新しいクラスターにラベルセレクターを介して適用するために、`HelmOps`を最初に作成する必要があります。これにより、Calicoがデプロイされます。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/cni/calico/helm-chart.yaml`Bundle`がGCP Cloud Controller Managerをデプロイします。Add-on Provider Fleetを使用しない理由は、https://github.com/kubernetes/cloud-provider-gcp[GCP Cloud Controller Manager]がHelmチャートを提供していないため、Fleet `Bundle`リソースを直接作成することを選択するからです。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/ccm/gcp/bundle.yaml
-
-
例のClusterClassからGCP Clusterを作成します。
いくつかの変数はユーザーが置き換える必要があることに注意してください。 GCP Cloud Controller Managerのデフォルト設定は、単一ゾーンクラスターを使用するように設定されているため、`clusterFailureDomains`変数は単一ゾーンに設定されています。マルチゾーンクラスターをプロビジョニングする必要がある場合は、https://github.com/kubernetes/cloud-provider-gcp/blob/master/providers/gce/gce.go#L120[GCP Cloud Controller Manager]が提供するパラメータと、https://github.com/kubernetes-sigs/cluster-api-provider-gcp/blob/main/test/e2e/data/infrastructure-gcp/cluster-template-ci.yaml#L59[CAPGがこれらの変数をどのように活用するか]を確認することをお勧めします。
apiVersion: cluster.x-k8s.io/v1beta2 kind: Cluster metadata: labels: cluster-api.cattle.io/rancher-auto-import: "true" cni: calico cloud-provider: gcp name: gcp-quickstart spec: clusterNetwork: pods: cidrBlocks: - 192.168.0.0/16 topology: classRef: name: gcp-kubeadm-example controlPlane: replicas: 1 workers: machineDeployments: - class: "default-worker" name: "md-0" replicas: 1 variables: - name: gcpProject value: <GCP_PROJECT> - name: region value: <GCP_REGION> - name: gcpNetworkName value: <GCP_NETWORK_NAME> - name: clusterFailureDomains value: - "<GCP_REGION>-a" - name: imageId value: <GCP_IMAGE_ID> - name: machineType value: <GCP_MACHINE_TYPE> version: v1.34.1
-
Docker Kubeadm ClusterClassは、https://github.com/rancher/turtles/tree/main/examples/clusterclasses[Turtles examples]の中に見つけることができます。
Calico CNIのようなアプリケーションは、ダウンストリームのクラスターにインストールされます。これは、特定のラベルを持つターゲットクラスターによって、クラスター作成時に自動的に行われます`cni: calico`。
-
CLI
-
kubectl
Docker Kubeadm ClusterClassと関連するアプリケーションは、examplesツールを使用して適用できます:
go run github.com/rancher/turtles/examples@v0.26.0 -r docker-kubeadm | kubectl apply -f --
また、kubectlを使用してDocker Kubeadm ClusterClassを直接適用することもできます:
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/clusterclasses/docker/kubeadm/clusterclass-docker-kubeadm.yaml -
この例では、CalicoをデフォルトのCNIとしてインストールする予定です。
これを、https://rancher.github.io/cluster-api-addon-provider-fleet/[Cluster API Add-on Provider Fleet]を使用してクラスタ作成時に自動的に行うことができます。 新しいクラスタにラベルセレクタを介して適用するために、最初に2つの`HelmOps`を作成する必要があります。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/cni/calico/helm-chart.yaml
-
-
例のClusterClassからDocker Kubeadm Clusterを作成します。
いくつかの変数はユーザーが置き換える必要があることに注意してください。
apiVersion: cluster.x-k8s.io/v1beta2 kind: Cluster metadata: name: docker-kubeadm-quickstart labels: cni: calico spec: clusterNetwork: pods: cidrBlocks: - 192.168.0.0/16 serviceDomain: cluster.local services: cidrBlocks: - 10.96.0.0/24 topology: classRef: name: docker-kubeadm-example controlPlane: replicas: 1 version: v1.35.0 workers: machineDeployments: - class: default-worker name: md-0 replicas: 1
-
Docker RKE2 ClusterClassは、https://github.com/rancher/turtles/tree/main/examples/clusterclasses[Turtles examples]の中に見つけることができます。
Calico CNIのようなアプリケーションは、ダウンストリームのクラスターにインストールされます。これは、特定のラベルを持つターゲットクラスターによって、クラスター作成時に自動的に行われます`cni: calico`。
-
CLI
-
kubectl
Docker RKE2 ClusterClassと関連するアプリケーションは、examplesツールを使用して適用できます:
go run github.com/rancher/turtles/examples@v0.26.0 -r docker-rke2 | kubectl apply -f --
また、kubectlを使用してDocker RKE2 ClusterClassを直接適用することもできます:
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/clusterclasses/docker/rke2/clusterclass-docker-rke2.yaml -
この例では、CalicoをデフォルトのCNIとしてインストールする予定です。
これを、https://rancher.github.io/cluster-api-addon-provider-fleet/[Cluster API Add-on Provider Fleet]を使用してクラスタ作成時に自動的に行うことができます。 新しいクラスタにラベルセレクタを介して適用するために、最初に2つの`HelmOps`を作成する必要があります。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/cni/calico/helm-chart.yaml -
Docker RKEv2 ClusterのLoadBalancer ConfigMapを作成します。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/lb/docker/configmap.yaml
-
-
例のClusterClassからDocker Kubeadm Clusterを作成します。
apiVersion: cluster.x-k8s.io/v1beta2 kind: Cluster metadata: name: docker-rke2-example labels: cni: calico annotations: cluster-api.cattle.io/upstream-system-agent: "true" spec: clusterNetwork: pods: cidrBlocks: - 192.168.0.0/16 services: cidrBlocks: - 10.96.0.0/24 serviceDomain: cluster.local topology: classRef: name: docker-rke2-example controlPlane: replicas: 1 variables: - name: rke2CNI value: none - name: dockerImage value: kindest/node:v1.35.0 version: v1.35.0+rke2r1 workers: machineDeployments: - class: default-worker name: md-0 replicas: 1
-
vSphere ClusterClassは、https://github.com/rancher/turtles/tree/main/examples/clusterclasses[Turtles examples]の中に見つけることができます。
vSphere Cloud Provider、vSphere CSIドライバー、Calico CNIのようなアプリケーションは、ダウンストリームクラスターにインストールされます。これは、
cloud-provider: vsphere、csi: vsphere、および`cni: calico`など、特定のラベルを持つターゲットクラスターによって、クラスター作成時に自動的に行われます。-
CLI
-
kubectl
vSphere Kubeadm ClusterClassと関連するアプリケーションは、examplesツールを使用して適用できます。
go run github.com/rancher/turtles/examples@v0.26.0 -r vsphere-kubeadm | kubectl apply -f --
また、kubectlを使用してvSphere Kubeadm ClusterClassを直接適用することもできます。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/clusterclasses/vsphere/kubeadm/clusterclass-kubeadm-example.yaml -
さらに、https://github.com/kubernetes/cloud-provider-vsphere[vSphere Cloud Provider]は、各ダウンストリームクラスターにインストールする必要があります。ノードが正しく初期化されるためです。 コンテナストレージインターフェース(CSI)ドライバー(vSphere用)がストレージソリューションとして使用されます。 最後に、この例では、https://docs.tigera.io/calico/latest/about/[Calico]をデフォルトのCNIとしてインストールします。 Clusterの作成時に、https://rancher.github.io/cluster-api-addon-provider-fleet/[Cluster API Add-on Provider Fleet]を使用してすべてのアプリケーションを自動的にインストールできます。 新しいClusterにラベルセレクターを介して適用するために、最初に2つの`HelmOps`を作成する必要があります。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/ccm/vsphere/helm-chart.yaml kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/cni/calico/helm-chart.yamlvSphere CSIドライバーはHelmにパッケージされていないため、ダウンストリームクラスターに適用されるFleet Bundleにその全体のマニフェストを含める予定です。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/csi/vsphere/bundle.yaml
-
-
クラスタの設定
vSphere Cloud ProviderとvSphere CSIコントローラーは、ダウンストリームクラスターに適用するために追加の設定が必要です。 上記の手順と同様に、ダウンストリームクラスターに適用される2つの追加のFleet Bundleを作成できます。 これらのBundleは、名前`vsphere-kubeadm-quickstart`でダウンストリームクラスターをターゲットにするように構成されていることに注意してください。 Clusterの名前を異なるものにする場合は、Bundleのターゲットをそれに応じて変更してください。
kind: Bundle apiVersion: fleet.cattle.io/v1alpha1 metadata: name: vsphere-csi-config spec: resources: - content: |- apiVersion: v1 kind: Secret type: Opaque metadata: name: vsphere-config-secret namespace: vmware-system-csi stringData: csi-vsphere.conf: |+ [Global] thumbprint = "<VSPHERE_THUMBPRINT>" [VirtualCenter "<VSPHERE_SERVER>"] user = "<VSPHERE_USER>" password = "<VSPHERE_PASSWORD>" datacenters = "<VSPHERE_DATACENTED>" [Network] public-network = "<VSPHERE_NETWORK>" [Labels] zone = "" region = "" targets: - clusterSelector: matchLabels: csi: vsphere cluster.x-k8s.io/cluster-name: 'vsphere-kubeadm-quickstart' --- kind: Bundle apiVersion: fleet.cattle.io/v1alpha1 metadata: name: vsphere-cloud-credentials spec: resources: - content: |- apiVersion: v1 kind: Secret type: Opaque metadata: name: vsphere-cloud-secret namespace: kube-system stringData: <VSPHERE_SERVER>.password: "<VSPHERE_PASSWORD>" <VSPHERE_SERVER>.username: "<VSPHERE_USER>" targets: - clusterSelector: matchLabels: cloud-provider: vsphere cluster.x-k8s.io/cluster-name: 'vsphere-kubeadm-quickstart' -
例のClusterClassからvSphere Clusterを作成します。
この例では、https://kube-vip.io/[kube-vip]をControl Planeのロードバランサーとして使用していることに注意してください。 `KUBE_VIP_INTERFACE`は、ARPモードで`CONTROL_PLANE_IP`をバインドするために使用されます。オペレーティングシステムやネットワークデバイスの設定に応じて、この値を適切に設定する必要があります。例えば、`eth0`に設定します。 `kube-vip`の静的マニフェストは、ClusterClassの定義に埋め込まれています。独自のClusterClasses用の静的kube-vipマニフェストを生成する方法についての詳細は、公式のhttps://kube-vip.io/docs/installation/static/[ドキュメント]を参照してください。
apiVersion: cluster.x-k8s.io/v1beta2 kind: Cluster metadata: labels: cni: calico cloud-provider: vsphere csi: vsphere cluster-api.cattle.io/rancher-auto-import: "true" name: 'vsphere-kubeadm-quickstart' spec: clusterNetwork: pods: cidrBlocks: - 192.168.0.0/16 topology: classRef: name: vsphere-kubeadm-example version: v1.35.0 controlPlane: replicas: 3 workers: machineDeployments: - class: vsphere-kubeadm-example-worker name: md-0 replicas: 1 variables: - name: vSphereClusterIdentityName value: cluster-identity - name: vSphereTLSThumbprint value: <VSPHERE_THUMBPRINT> - name: vSphereDataCenter value: <VSPHERE_DATACENTER> - name: vSphereDataStore value: <VSPHERE_DATASTORE> - name: vSphereFolder value: <VSPHERE_FOLDER> - name: vSphereNetwork value: <VSPHERE_NETWORK> - name: vSphereResourcePool value: <VSPHERE_RESOURCE_POOL> - name: vSphereServer value: <VSPHERE_SERVER> - name: vSphereTemplate value: <VSPHERE_TEMPLATE> - name: controlPlaneIpAddr value: <CONTROL_PLANE_IP> - name: controlPlanePort value: 6443 - name: sshKey value: <SSH_KEY> - name: kubeVIPInterface value: <KUBE_VIP_INTERFACE>
-
vSphere ClusterClassは、https://github.com/rancher/turtles/tree/main/examples/clusterclasses[Turtles examples]の中に見つけることができます。
vSphere Cloud Provider、vSphere CSIドライバー、Calico CNIのようなアプリケーションは、ダウンストリームのクラスターにインストールされます。これは、
cloud-provider: vsphere、csi: vsphere、および`cni: calico`など、特定のラベルを持つターゲットクラスターによって、クラスター作成時に自動的に行われます。-
CLI
-
kubectl
vSphere RKE2 ClusterClassと関連するアプリケーションは、例のツールを使用して適用できます。
go run github.com/rancher/turtles/examples@v0.26.0 -r vsphere-rke2 | kubectl apply -f --
代わりに、kubectlを使用してvSphere RKE2 ClusterClassを直接適用することができます。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/clusterclasses/vsphere/rke2/clusterclass-rke2-example.yaml -
さらに、https://github.com/kubernetes/cloud-provider-vsphere[vSphere Cloud Provider]は、各ダウンストリームクラスターにインストールする必要があります。ノードが正しく初期化されるためです。 コンテナストレージインターフェース(CSI)ドライバー(vSphere用)がストレージソリューションとして使用されます。 最後に、この例では、https://docs.tigera.io/calico/latest/about/[Calico]をデフォルトのCNIとしてインストールします。
クラスターの作成時に、https://rancher.github.io/cluster-api-addon-provider-fleet/[Cluster API Add-on Provider Fleet]を使用してすべてのアプリケーションを自動的にインストールすることができます。 新しいクラスタにラベルセレクタを介して適用するために、最初に2つの`HelmOps`を作成する必要があります。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/ccm/vsphere/helm-chart.yaml kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/cni/calico/helm-chart.yamlvSphere CSIドライバーはHelmにパッケージされていないため、ダウンストリームクラスターに適用されるFleet Bundleにその全体のマニフェストを含める予定です。
kubectl apply -f https://raw.githubusercontent.com/rancher/turtles/refs/tags/v0.26.0/examples/applications/csi/vsphere/bundle.yaml
-
-
クラスタの設定
vSphere Cloud ProviderとvSphere CSIコントローラーは、ダウンストリームクラスターに適用するために追加の設定が必要です。 上記の手順と同様に、ダウンストリームクラスターに適用される2つの追加のFleet Bundleを作成できます。 これらのBundleは、名前`vsphere-rke2-quickstart`でダウンストリームクラスターをターゲットにするように構成されていることに注意してください。 Clusterの名前を異なるものにする場合は、Bundleのターゲットをそれに応じて変更してください。
kind: Bundle apiVersion: fleet.cattle.io/v1alpha1 metadata: name: vsphere-csi-config spec: resources: - content: |- apiVersion: v1 kind: Secret type: Opaque metadata: name: vsphere-config-secret namespace: vmware-system-csi stringData: csi-vsphere.conf: |+ [Global] thumbprint = "<VSPHERE_THUMBPRINT>" [VirtualCenter "<VSPHERE_SERVER>"] user = "<VSPHERE_USER>" password = "<VSPHERE_PASSWORD>" datacenters = "<VSPHERE_DATACENTED>" [Network] public-network = "<VSPHERE_NETWORK>" [Labels] zone = "" region = "" targets: - clusterSelector: matchLabels: csi: vsphere cluster.x-k8s.io/cluster-name: 'vsphere-rke2-quickstart' --- kind: Bundle apiVersion: fleet.cattle.io/v1alpha1 metadata: name: vsphere-cloud-credentials spec: resources: - content: |- apiVersion: v1 kind: Secret type: Opaque metadata: name: vsphere-cloud-secret namespace: kube-system stringData: <VSPHERE_SERVER>.password: "<VSPHERE_PASSWORD>" <VSPHERE_SERVER>.username: "<VSPHERE_USER>" targets: - clusterSelector: matchLabels: cloud-provider: vsphere cluster.x-k8s.io/cluster-name: 'vsphere-rke2-quickstart' -
例のClusterClassからvSphere Clusterを作成します。
この例では、https://kube-vip.io/[kube-vip]をControl Planeのロードバランサーとして使用していることに注意してください。 `KUBE_VIP_INTERFACE`は、ARPモードで`CONTROL_PLANE_IP`をバインドするために使用されます。オペレーティングシステムやネットワークデバイスの設定に応じて、この値を適切に設定する必要があります。例えば、`eth0`に設定します。 `kube-vip`の静的マニフェストは、ClusterClassの定義に埋め込まれています。独自のClusterClasses用の静的kube-vipマニフェストを生成する方法についての詳細は、公式のhttps://kube-vip.io/docs/installation/static/[ドキュメント]を参照してください。 SUSE Linux Microに基づくVMテンプレートを使用している場合は、SUSE Customer Centerに対する自動SL Micro登録を有効にするために、`productKey`変数をオプションで提供することができます。
apiVersion: cluster.x-k8s.io/v1beta2 kind: Cluster metadata: labels: cni: calico cloud-provider: vsphere csi: vsphere cluster-api.cattle.io/rancher-auto-import: "true" name: 'vsphere-rke2-quickstart' spec: clusterNetwork: pods: cidrBlocks: - 192.168.0.0/16 topology: classRef: name: vsphere-rke2-example version: v1.35.0+rke2r1 controlPlane: replicas: 3 workers: machineDeployments: - class: vsphere-rke2-example-worker name: md-0 replicas: 1 variables: - name: vSphereClusterIdentityName value: cluster-identity - name: vSphereTLSThumbprint value: <VSPHERE_THUMBPRINT> - name: vSphereDataCenter value: <VSPHERE_DATACENTER> - name: vSphereDataStore value: <VSPHERE_DATASTORE> - name: vSphereFolder value: <VSPHERE_FOLDER> - name: vSphereNetwork value: <VSPHERE_NETWORK> - name: vSphereResourcePool value: <VSPHERE_RESOURCE_POOL> - name: vSphereServer value: <VSPHERE_SERVER> - name: vSphereTemplate value: <VSPHERE_TEMPLATE> - name: controlPlaneIpAddr value: <CONTROL_PLANE_IP> - name: controlPlanePort value: 6443 - name: sshKey value: <SSH_KEY> - name: kubeVIPInterface value: <KUBE_VIP_INTERFACE> - name: productKey value: <SL_MICRO_PRODUCT_KEY>