v1alpha3 API を使用して、複数の vSphere Zone を横断する TanzuKubernetesCluster をプロビジョニングするには、サンプル YAML を参照してください。

vSphere Zone と障害ドメイン

vSphere Zone を使用すると、可用性の高い TKG クラスタを スーパーバイザー に作成できます。複数の vSphere Zone を横断する TKG クラスタをプロビジョニングする場合は、各ノード プールに障害ドメインを指定する必要があります。

各障害ドメインは vSphere Zone にマッピングされ、vSphere Zone は 1 つの vSphere クラスタに関連付けられます。vSphere フォルト ドメインとも呼ばれる障害ドメインは、vSphere Zone を作成するときに、vSphere 管理者によって定義および管理されます。TKG クラスタに使用するストレージ プロファイルは、zonal として構成する必要があります。スーパーバイザー上の TKG クラスタの vSphere ストレージ ポリシーの作成を参照してください。

レプリカを持つポッドを スーパーバイザー 上の TKG クラスタにデプロイすると、ポッド インスタンスは vSphere Zone 全体に自動的に分散されます。TKG クラスタにポッドをデプロイするときにゾーンの詳細を指定する必要はありません。

TKG 環境で vSphere Zone の可用性を確認するには、TKG クラスタをプロビジョニングする vSphere 名前空間 から次のいずれかのコマンドを実行します。
kubectl get vspherezones
kubectl get availabilityzones

system:authenticated ユーザーは、両方のコマンドを利用できます。vSphere Zones は スーパーバイザー スコープのリソースであるため、名前空間を指定する必要はありません。

v1alpha3 の例:複数の vSphere Zone を横断する TKC

このサンプル YAML では、複数の vSphere Zone を横断する TKG クラスタをプロビジョニングします。

このサンプルでは、各 nodePool の failureDomain パラメータで vSphere Zone を指定しています。このパラメータの値は、vSphere Zone の名前です。
apiVersion: run.tanzu.vmware.com/v1alpha3
kind: TanzuKubernetesCluster
metadata:
  name: tkc-zoned
  namespace: tkg-cluster-ns
spec:
  topology:
    controlPlane:
      replicas: 3
      vmClass: guaranteed-medium
      storageClass: tkg2-storage-policy-zonal
      tkr:
        reference:
          name: v1.25.7---vmware.3-fips.1-tkg.1
    nodePools:
      - name: nodepool-a01
        replicas: 3
        vmClass: guaranteed-medium
        storageClass: tkg-storage-policy-zonal
        failureDomain: az1
      - name: nodepool-a02
        replicas: 3
        vmClass: guaranteed-medium
        storageClass: tkg-storage-policy-zonal
        failureDomain: az2
      - name: nodepool-a03
        replicas: 3
        vmClass: guaranteed-medium
        storageClass: tkg-storage-policy-zonal
        failureDomain: az3
  settings:
    storage:
      defaultClass: tkg-storage-policy-zonal
    network:
      cni:
        name: antrea
      services:
        cidrBlocks: ["198.51.100.0/12"]
      pods:
        cidrBlocks: ["192.0.2.0/16"]
      serviceDomain: cluster.local