File konfigurasi infrastruktur vSphere

Halaman ini menjelaskan kolom dalam file konfigurasi infrastruktur vSphere, yang digunakan dalam penyiapan domain topologi. File ini diperlukan jika infraConfigFilePath di file konfigurasi cluster admin ditetapkan.

Bagian berikut memberikan deskripsi objek dan kolom di resource kustom Secret dan VSphereInfraConfig. Lihat bagian Contoh file konfigurasi yang mengikuti yang menunjukkan contoh nilai untuk kolom.

Semua kolom wajib diisi dalam file konfigurasi kecuali jika ditandai sebagai "Opsional".

Secret

Mendeskripsikan Secret kredensial vSphere yang menyimpan kredensial setiap Server vCenter. Tambahkan atau hapus Secret sesuai kebutuhan berdasarkan jumlah instance Server vCenter yang akan Anda gunakan untuk cluster admin dan cluster pengguna. Setiap objek harus dipisahkan dengan ---. Anda dapat menghapus semua Secret dari file konfigurasi ini setelah cluster admin berhasil dibuat.

Secret.name

Immutable
String

Nama Secret. Nama ini harus cocok dengan salah satu nama di kolom credentials.vCenters[i].secretName dalam resource kustom VSphereInfraConfig.

Secret.namespace

Tidak dapat diubah (Immutable)
String
Sudah diisi: kube-system

Namespace tempat Secret berada. Namespace ini harus cocok dengan kolom credentials.vCenters[i].secretNamespace yang sesuai di resource kustom VSphereInfraConfig.

stringData.admin-username dan stringData.admin-password

Kredensial akun pengguna vCenter yang memiliki peran Administrator vCenter Server atau hak istimewa yang setara. Untuk mengetahui informasi selengkapnya, lihat hak istimewa akun pengguna vCenter.

stringData.ca-crt

Mutable
String multiline

Sertifikat CA yang dienkode Base64 dari vCenter Server.

Ikuti langkah-langkah di Mendapatkan sertifikat root CA vCenter Anda hingga Anda menjalankan perintah yang menampilkan sertifikat berenkode Base64. Salin dan tempel seluruh sertifikat ke kolom ini.

VSphereInfraConfig

Konfigurasi infrastruktur vSphere. Konfigurasi ini akan disimpan di cluster admin dan dibagikan oleh cluster admin dan semua cluster pengguna pengelolanya. Setiap cluster admin hanya boleh memiliki satu konfigurasi infrastruktur vSphere.

VSphereInfraConfig.name

Tidak dapat diubah (Immutable)
String
Diisi otomatis: default

Nama konfigurasi infrastruktur vSphere.

credentials

Kredensial yang digunakan oleh konfigurasi infrastruktur vSphere.

credentials.vCenters

Array objek, yang masing-masing berisi referensi Secret untuk setiap Server vCenter. Tambahkan atau hapus entri sesuai kebutuhan. Setelah cluster admin dibuat, Anda dapat menambahkan objek credentials.vCenters baru ke file konfigurasi jika diperlukan, lalu menjalankan gkectl update admin untuk memperbarui konfigurasi di cluster.

credentials.vCenters[i].address

Tidak dapat diubah (Immutable)
String

Alamat IP atau nama host vCenter Server Anda.

Untuk mengetahui informasi selengkapnya, lihat Menemukan alamat vCenter Server Anda.

credentials.vCenters[i].secretName

Immutable
String

Nama Secret. Nama harus cocok dengan name di resource kustom Secret.

credentials.vCenters[i].secretNamespace

Tidak dapat diubah
String
kube-system yang sudah diisi sebelumnya

Namespace tempat Secret berada. Namespace harus cocok dengan namespace yang sesuai di resource kustom Secret.

topologyDomains

Array objek, yang masing-masing menjelaskan konfigurasi domain topologi. Tambahkan atau hapus entri sesuai kebutuhan. Setelah cluster admin dibuat, Anda dapat menambahkan objek topologyDomains baru ke file konfigurasi jika diperlukan, lalu jalankan gkectl update admin untuk memperbarui konfigurasi di cluster.

topologyDomains[i].name

Immutable
String

Nama domain topologi.

topologyDomains[i].topologyLabels

Daftar label yang diterapkan ke node dalam domain topologi ini yang digunakan oleh penjadwal Kubernetes. Setiap label adalah pasangan "key":"value". Sebaiknya Anda hanya menentukan satu label per domain topologi.

Contoh:

 topologyDomains: - name: "td-01"   topologyLabel: "topology.examplepetstore.com/zone": "zone-1" 

Untuk kunci, Anda dapat menggunakan batasan default tingkat cluster Kubernetes, "topology.kubernetes.io/zone", seperti yang dijelaskan dalam Batasan default bawaan.

Setelah cluster dibuat, label topologi yang Anda tentukan akan diisi ke label node dalam domain topologi. Jika Anda tidak menggunakan "topology.kubernetes.io/zone" sebagai kunci, Anda harus mengonfigurasi kunci topologi di PodTemplate dalam Deployment, StatefulSet, atau ReplicaSet, sebagaimana berlaku.

Misalnya, Anda menentukan kunci di label topologi sebagai "topology.examplepetstore.com/zone". Di PodTemplate, Anda menentukan kunci sebagai nilai untuk kolom topologySpreadConstraints.topologyKey. Hal ini memungkinkan penjadwal Kubernetes mendistribusikan Pod di seluruh domain topologi untuk memastikan ketersediaan tinggi dan mencegah konsentrasi berlebih di satu area jika terjadi kegagalan.

Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi topologySpreadConstraints, lihat Batasan Penyebaran Topologi Pod dalam dokumentasi Kubernetes.

topologyDomains[i].compute

Resource komputasi yang dialokasikan untuk domain topologi ini.

topologyDomains[i].compute.vcenter

Immutable
String

Alamat IP atau nama host vCenter Server Anda.

Untuk mengetahui informasi selengkapnya, lihat Menemukan alamat vCenter Server Anda.

topologyDomains[i].compute.datacenter

Immutable
String

Jalur relatif pusat data vSphere.

Nilai yang Anda tentukan relatif terhadap folder root bernama /.

Jika pusat data Anda berada di folder root, nilainya adalah nama pusat data.

topologyDomains[i].compute.cluster

Immutable
String

Jalur relatif cluster vSphere yang merepresentasikan host ESXi tempat VM cluster Anda di domain topologi ini akan berjalan. Cluster vSphere ini mewakili subset host ESXi fisik di pusat data vCenter Anda.

Nilai yang Anda tentukan terkait dengan /.../DATA_CENTER/vm/.

Jika cluster vSphere Anda berada di folder /.../DATA_CENTER/vm/, nilainya adalah nama cluster vSphere.

Jika tidak, nilainya adalah jalur relatif yang mencakup satu atau beberapa folder beserta nama cluster vSphere.

topologyDomains[i].compute.resourcePool

Immutable
String

Kumpulan resource vCenter untuk VM Anda di domain topologi ini.

Jika Anda ingin menggunakan kumpulan resource default, tetapkan ini ke VSPHERE_CLUSTER/Resources.

Contoh:

 topologyDomains: - name: "td-01"   compute:     resourcePool: "my-vsphere-cluster/Resources" 

Jika Anda ingin menggunakan kumpulan resource yang telah dibuat, tetapkan ini ke jalur relatif kumpulan resource Anda.

Nilai yang Anda tentukan bersifat relatif terhadap /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/

Jika kumpulan resource Anda adalah turunan langsung dari /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/ nilainya adalah nama kumpulan resource.

Contoh:

 topologyDomains: - name: "td-01"   compute:     resourcePool: "my-resource-pool" 

Jika tidak, nilainya adalah jalur relatif yang memiliki dua atau lebih kumpulan resource.

Contoh:

 topologyDomains: - name: "td-01"   compute:     resourcePool: "resource-pool-1/resource-pool-2" 

topologyDomains[i].compute.folder

Opsional
Tidak dapat diubah
String

Jalur relatif folder vSphere yang telah Anda buat. Folder ini akan menyimpan semua VM dalam domain topologi ini.

Jika Anda tidak menentukan nilai, semua VM di domain topologi ini akan dimasukkan ke dalam /.../DATA_CENTER/vm/.

Jika Anda menentukan nilai, nilai tersebut relatif terhadap /.../DATA_CENTER/vm/.

Nilainya bisa berupa nama folder.

Contoh:

 topologyDomains: - name: "td-01"   compute:     folder: "my-folder" 

Atau, nilai dapat berupa jalur relatif yang mencakup lebih dari satu folder.

Contoh:

 topologyDomains: - name: "td-01"   compute:     folder: "folders/folder-1" 

topologyDomains[i].storage

Konfigurasi penyimpanan domain topologi ini. Hanya digunakan oleh disk data dan disk boot virtual machine. Volume CNS (disediakan oleh PVC dan PV) tidak disertakan.

Tentukan nilai untuk storage.policyName atau storage.datastore, tetapi jangan tentukan keduanya.

topologyDomains[i].storage.policyName

Wajib jika storage.datastore tidak ditentukan
Tidak dapat diubah
String

Nama kebijakan penyimpanan VM untuk node cluster.

Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi kebijakan penyimpanan.

Anda harus menentukan nilai untuk storage.datastore atau storage.policyName, tetapi tidak keduanya. Jika Anda menentukan nilai untuk kolom ini, jangan tentukan nilai untuk storage.datastore.

topologyDomains[i].storage.datastore

Wajib jika storage.policyName tidak ditentukan
Tidak dapat diubah
String

Nama datastore vSphere untuk cluster admin Anda.

Nilai yang Anda tentukan harus berupa nama, bukan jalur. Jangan sertakan folder apa pun dalam nilai.

Contoh:

 topologyDomains: - name: "td-01"   storage:     datastore: "my-datastore" 

Anda harus menentukan nilai untuk storage.datastore atau storage.PolicyName, tetapi tidak keduanya. Jika Anda menentukan nilai untuk kolom ini, jangan tentukan nilai untuk storage.PolicyName.

topologyDomains[i].network

Konfigurasi jaringan domain topologi ini.

topologyDomains[i].network.vsphereNetwork

Immutable
String

Nama jaringan vSphere untuk node cluster Anda.

Contoh:

 topologyDomains: - name: "td-01"   network:     vsphereNetwork: "my-network" 

Jika nama berisi karakter khusus, Anda harus menggunakan urutan escape untuk karakter tersebut.

Karakter khusus Urutan escape
Garis miring (/) %2f
Garis miring terbalik (\) %5c
Tanda persen (%) %25

Jika nama jaringan tidak unik di pusat data, Anda dapat menentukan jalur lengkap.

Contoh:

 topologyDomains: - name: "td-01"   network:     vsphereNetwork: "/data-centers/data-center-1/network/my-network" 

topologyDomains[i].network.gateway

Alamat gateway subnet untuk node cluster dalam domain topologi ini. Alamat IP harus sama dengan alamat gateway dalam file blok IP. Sebagai contoh, lihat contoh file pemblokiran IP untuk domain topologi.

topologyDomains[i].network.dnsServers

Tidak dapat diubah
Array string.
Jumlah maksimum elemen dalam array adalah tiga.

Alamat IP server DNS untuk VM.

topologyDomains[i].network.ntpServers

Tidak dapat diubah
Array string

Alamat IP server waktu yang akan digunakan VM.

topologyDomains[i].network.searchDomains

Opsional
Tidak dapat diubah
Array string

Domain penelusuran DNS yang akan digunakan VM. Domain ini digunakan sebagai bagian dari daftar penelusuran domain.

Contoh:

 topologyDomains: - name: "td-01"   network:     hostConfig:       searchDomainsForDNS:       - "my.local.com" 

topologyDomains[i].defaultTopologyDomain

Tidak dapat diubah
Opsional
String

Nama domain topologi default. Nama ini harus cocok dengan salah satu nama di topologyDomains[i].name. Jika Anda tidak menentukan nama default saat pembuatan cluster, Anda dapat memperbarui file konfigurasi dengan nama jika diperlukan, lalu menjalankan gkectl update admin untuk memperbarui konfigurasi di cluster.

Node akan dialokasikan ke domain topologi default kecuali jika Anda menetapkan domain topologi untuk node bidang kontrol atau node di node pool.

Contoh file konfigurasi

Contoh berikut menunjukkan file konfigurasi dengan nilai yang diisi.

apiVersion: v1 kind: Secret metadata:   namespace: kube-system   name: "vsphere-auth-0" stringData:   admin-username: "[email protected]"   admin-password: "GltFl4@5f"   ca-crt: |     -----BEGIN CERTIFICATE-----     MIIEITCCAwmgAwIBAgIJAPFVaTIKdyCbMA0GCSqGSIb3DQEBCwUAMIGbMQswCQYD     VQQDDAJDQTEXMBUGCgmSJomT8ixkARkWB3ZzcGhlcmUxFTATBgoJkiaJk/IsZAEZ     FgVsb2NhbDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExHTAbBgNV     BAoMFGF0bC1xdWFsLXZjMDMuYW50aG9zMRswGQYDVQQLDBJWTXdhcmUgRW5naW5l     ZXJpbmcwHhcNMjIwODA3MDIzNTQ4WhcNMzIwODA0MDIzNTQ4WjCBmzELMAkGA1UE     AwwCQ0ExFzAVBgoJkiaJk/IsZAEZFgd2c3BoZXJlMRUwEwYKCZImiZPyLGQBGRYF     bG9jYWwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMR0wGwYDVQQK     DBRhdGwtcXVhbC12YzAzLmFudGhvczEbMBkGA1UECwwSVk13YXJlIEVuZ2luZWVy     aW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz5MOjTQ4FHcIYjzo     bcIFJmnVDjSnLGYDdVayhmUo1+CC5RqJRuAnJmDYt9PY/lJhVDVUSFHWJdvRjeAP     0+xjRs33VJctzjDqwy2xRMVxoA+c8DfvALHIK+rHwIidGNt5eb2HOrB1MSCB5KFi     gkXhJf/2kiEPiTMqbu2nWySdBfZRVSYs1jSiAuz/cgyglfVUcRFn4oRhR35QZ8gj     t54IGY9atzKCYuvFAgeTCGBxI30cZRQDCtkWyWHPdK3GniNW/qh4C7gC+VI+Pnh+     fUGtAx3Px/O5h5RpHDmvuSqMNoWEsChKGgbrbkZGB9OWL8OsVAUnz8TXC6s4/AG1     0GGDGQIDAQABo2YwZDAdBgNVHQ4EFgQUM8RXjNIlar+S6uZBSH+3oVkUdGwwHwYD     VR0RBBgwFoEOZW1haWxAYWNtZS5jb22HBH8AAAEwDgYDVR0PAQH/BAQDAgEGMBIG     A1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEBABIO4RO3Jk6PaDyt     +PGP1ng5fpcKbwCi90KfEkfAd/HV3YM6suEhCar6azKXJutL9gGzidi9NvKv43Pg     hOOuTQWbdwuhqgF3YPKZ1HJWSV0NR5J9WFjp9rk1EdM6NApUwmy7EIbo8TY7M6SL     jaR8VgaelG2PSf2S4ybxKdJ2gx2pPTcoYpd/+d9qaDFLNWa4irzB6sqBUVlkAMX+     JW4FmMs8ym4aLzlFBzG5gjK1PCsBugbVRSAbF+Y8LwnMoe2WMiF1nNXoKSiaQm0A     Z0psC1b37G9dKzr9soLS5OENFrAEClfVD5luETvUHo51VhanetWbZmL5dK8iGAuj     otykS2w=     -----END CERTIFICATE-----  --- apiVersion: v1 kind: Secret metadata:   namespace: kube-system   name: "vsphere-auth-1" stringData:   admin-username: "[email protected]"   admin-password: "xuBAcK5lT@uq2Ix"   ca-crt: |     -----BEGIN CERTIFICATE-----     MIIEITCCAwmgAwIBAgIJAMJPzGX27yKBMA0GCSqGSIb3DQEBCwUAMIGbMQswCQYD     VQQDDAJDQTEXMBUGCgmSJomT8ixkARkWB3ZzcGhlcmUxFTATBgoJkiaJk/IsZAEZ     FgVsb2NhbDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExHTAbBgNV     BAoMFGF0bC1xdWFsLXZjMTMuYW50aG9zMRswGQYDVQQLDBJWTXdhcmUgRW5naW5l     ZXJpbmcwHhcNMjMxMjAzMjM0NDM5WhcNMzMxMTMwMjM0NDM5WjCBmzELMAkGA1UE     AwwCQ0ExFzAVBgoJkiaJk/IsZAEZFgd2c3BoZXJlMRUwEwYKCZImiZPyLGQBGRYF     bG9jYWwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMR0wGwYDVQQK     DBRhdGwtcXVhbC12YzEzLmFudGhvczEbMBkGA1UECwwSVk13YXJlIEVuZ2luZWVy     aW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6d2PidzORMEOuIKa     XOXB4nB7ukYGOeju1nKJ90KnvKfZBNjN1JKuNPQcZelFyEcUEHnI18cA2VGbpXbF     O9jMlxu5VlhPepjEPAgtcAuCZNlxzRDip9u9ar3ma2SxMCogz91qDZKSE/PQpqNI     Ozpus6YsHmK3jzAUq/Zs1+wl9HFot0e5kPf79oqQC8gPxJqmFQyGm50SdOMwj5sD     pYm/3TZZ1gw4WftBhDecO9hKwcReCVjeVgp5omMcFHwIhqUBqZM3qX5gJaxE7ELO     xu66VibA1g70Xzso2hGVQ13ruGjgUAjDsICOTpHHcT33KoMRzn2BWlKtmsnThIrE     nbR9QQIDAQABo2YwZDAdBgNVHQ4EFgQUI84+93Iniliyzs3HSDatbYGsiJ4wHwYD     VR0RBBgwFoEOZW1haWxAYWNtZS5jb22HBH8AAAEwDgYDVR0PAQH/BAQDAgEGMBIG     A1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEBAIIihWWIcl+sKRmS     QB4wkjR9UA7QV96lbm+HFE5qvP5xVXss+PmSjLjeNZFfX65tGlKXWDmYstcw/jon     hnJVe/jxjIZ3GddrVfHdwOEQ+FORQyfxkLAQuHKvm/2PobGNsU0rOw14Ur4Eea6P     pIl70eJhRX22dkOhb+y6jz+k+L52HbzMz/X6yUnTFAJzobJD0C1vGAx3FgPdbUqF     fXYO/Q8NNrk+4561eT3x9T4RIj/0ZkBal0yQEdYnd+lOIkEmk7vmO1/eyb6+66rs     3wz4DIxtfhJIUlj0mBL0KkyDDDoc0oFTf5V/xrYls1dJ35DNFoG/KBJGgGbaW41t     vTz+0JA=     -----END CERTIFICATE-----  --- apiVersion: v1 kind: Secret metadata:   namespace: kube-system   name: "vsphere-auth-2" stringData:   admin-username: "[email protected]"   admin-password: "nWKCITwqKTaY5@M5"   ca-crt: |     -----BEGIN CERTIFICATE-----     MIIEITCCAwmgAwIBAgIJAN4alqihWQukMA0GCSqGSIb3DQEBCwUAMIGbMQswCQYD     VQQDDAJDQTEXMBUGCgmSJomT8ixkARkWB3ZzcGhlcmUxFTATBgoJkiaJk/IsZAEZ     FgVsb2NhbDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExHTAbBgNV     BAoMFGF0bC1xdWFsLXZjMDcuYW50aG9zMRswGQYDVQQLDBJWTXdhcmUgRW5naW5l     ZXJpbmcwHhcNMjMwMzI2MTc0NjE1WhcNMzMwMzIzMTc0NjE1WjCBmzELMAkGA1UE     AwwCQ0ExFzAVBgoJkiaJk/IsZAEZFgd2c3BoZXJlMRUwEwYKCZImiZPyLGQBGRYF     bG9jYWwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMR0wGwYDVQQK     DBRhdGwtcXVhbC12YzA3LmFudGhvczEbMBkGA1UECwwSVk13YXJlIEVuZ2luZWVy     aW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuvM3aSemSrBxWVei     6pYlRvLWaCva2Q0MQvmUdVISa9uul/PHE2lwAcTAAr3Sayat2D5IRjd7NWbzaLVQ     Sxel0TINpMfITDT0x6lZ8FfKgrRpY30CPZQlgVo16rGKE0V+wHTkGYIzRITETzuu     z6nkpzvryh6JadSf4wrGj1TmrYpqYEmdzf7bLmz4Rql5PgVco7z+pqo0BA+UU/Uc     /OtEcVKAyaifHzZwPlscOpKpskQrP4Ke6i3iuyrEmaDH+4sQ1TDrcYpUBfqkl+xT     0G6ZKHs6KP18x0Xg4ifeC8x7sgajJ20TpbkDY4KtBdraj3HB4gZCxg7qY/0G75yF     C2bZ4wIDAQABo2YwZDAdBgNVHQ4EFgQUeE+R+gRo1oU578dyiyq4tPYefpIwHwYD     VR0RBBgwFoEOZW1haWxAYWNtZS5jb22HBH8AAAEwDgYDVR0PAQH/BAQDAgEGMBIG     A1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEBADzBUXsxICPGxt1o     wPrbmWhkrPy2pNr9unP/d+Py20groZ/KQ/d6dzDN7pxc6BtQbMfho7pij+mf3aHq     oBo+J80Ha/vZExMMwYrp/OTlxy2Jdb5pzxZQtWqNVS5SkzNtDs7DhXDTY19TBZhZ     4d+/g2eSq2/dRT7zF8q3LH6mmq0EbSRSDOm8r6AUdWt+Ov7YKTYk9c+5UTL9M9u4     1+VBkF34hB/xc1fsFSPHTQQDOlAy5HTZgM3ygtuhmAY+UUQVLZf+8sJh+5zqc6gw     Ecnz7HRcRPUitKACsxUm4f5VHiKUMrIBP5U1dovl4kUN8Ue0e+KnIjIGKjp4wrHi     UtQboUw=     -----END CERTIFICATE-----  --- apiVersion: vmware.cluster.gke.io/v1alpha1 kind: VSphereInfraConfig metadata:   name: default credentials:   vCenters:   - address: "vc03.example"     secretName: "vsphere-auth-0"     secretNamespace: "kube-system"   - address: "vc13.example"     secretName: "vsphere-auth-1"     secretNamespace: "kube-system"   - address: "vc07.example"     secretName: "vsphere-auth-2"     secretNamespace: "kube-system" topologyDomains: - name: "topology-domain-0"   topologyLabels:     "topology.kubernetes.io/zone": "zone-0"   compute:     vcenter: "vc03.example"     datacenter: "vc03"     cluster: "workloads3"     resourcePool: "vc03-default-pool"   storage:     datastore: "vsanDatastore"   network:     vsphereNetwork: "qual-343"     gateway: "203.0.113.1"     dnsServers:     - "192.0.2.1"     - "192.0.2.2"     ntpServers:     - "203.0.113.50" - name: "topology-domain-1"   topologyLabels:     "topology.kubernetes.io/zone": "zone-1"   compute:     vcenter: "vc13.example"     datacenter: "vc13-dc1"     cluster: "workloads13-1"     resourcePool: "vc13-dc1-default-pool"   storage:     datastore: "vsanDatastore-1c"   network:     vsphereNetwork: "scale-332"     gateway: "203.0.113.2"     dnsServers:     - "192.0.2.10"     - "192.0.2.11"     ntpServers:     - "203.0.113.51" - name: "topology-domain-2"   topologyLabels:     "topology.kubernetes.io/zone": "zone-2"   compute:     vcenter: "vc07.example"     datacenter: "vc07"     cluster: "workloads7"     resourcePool: "vc07-default-pool"   storage:     datastore: "vsanDatastore"   network:     vsphereNetwork: "qual-323"     gateway: "203.0.113.3"     dnsServers:     - "192.0.2.21"     - "192.0.2.22"     ntpServers:     - "203.0.113.52"