Konfigurationsdatei der vSphere-Infrastruktur

Auf dieser Seite werden die Felder in einer vSphere-Infrastrukturkonfigurationsdatei beschrieben, die bei der Einrichtung von Topologiedomänen verwendet wird. Diese Datei ist erforderlich, wenn infraConfigFilePath in der Konfigurationsdatei des Administratorclusters festgelegt ist.

In den folgenden Abschnitten werden die Objekte und Felder in den benutzerdefinierten Ressourcen Secret und VSphereInfraConfig beschrieben. Im folgenden Abschnitt Beispielkonfigurationsdatei finden Sie Beispielwerte für die Felder.

Sofern nicht als „Optional“ gekennzeichnet, sind alle Felder in der Konfigurationsdatei erforderlich.

Secret

Beschreibt das vSphere-Anmeldedaten-Secret, in dem die Anmeldedaten jedes vCenter-Servers gespeichert werden. Fügen Sie nach Bedarf Secrets hinzu oder löschen Sie sie, je nachdem, wie viele vCenter Server-Instanzen Sie für den Administratorcluster und die Nutzercluster verwenden möchten. Jedes Objekt muss durch --- getrennt werden. Sie können alle Secrets aus dieser Konfigurationsdatei entfernen, nachdem der Administratorcluster erfolgreich erstellt wurde.

Secret.name

Unveränderlich
String

Der Name des Secrets. Dieser Name muss mit einem der Namen im Feld credentials.vCenters[i].secretName in der benutzerdefinierten VSphereInfraConfig-Ressource übereinstimmen.

Secret.namespace

Unveränderlich
String
Vorab ausgefüllt: kube-system

Der Namespace, in dem sich das Secret befindet. Dieser Namespace muss mit dem entsprechenden Feld credentials.vCenters[i].secretNamespace in der benutzerdefinierten VSphereInfraConfig-Ressource übereinstimmen.

stringData.admin-username und stringData.admin-password

Die Anmeldedaten des vCenter-Nutzerkontos mit der Rolle „vCenter Server-Administrator“ oder entsprechenden Berechtigungen. Weitere Informationen finden Sie unter vCenter-Nutzerkontenberechtigungen.

stringData.ca-crt

Veränderlich
Mehrzeiliger String

Das base64-codierte CA-Zertifikat des vCenter-Servers.

Folgen Sie der Anleitung unter vCenter-CA-Root-Zertifikat abrufen, bis Sie den Befehl ausführen, der das base64-codierte Zertifikat anzeigt. Kopieren Sie das gesamte Zertifikat und fügen Sie es in dieses Feld ein.

VSphereInfraConfig

Die vSphere-Infrastrukturkonfiguration. Diese Konfiguration wird im Administratorcluster gespeichert und vom Administratorcluster und allen zugehörigen verwalteten Nutzerclustern gemeinsam verwendet. Jeder Administratorcluster sollte nur eine vSphere-Infrastrukturkonfiguration haben.

VSphereInfraConfig.name

Unveränderlich
String
Vorab ausgefüllt: „default“

Der Name der vSphere-Infrastrukturkonfiguration.

credentials

Die Anmeldedaten, die von der vSphere-Infrastrukturkonfiguration verwendet werden.

credentials.vCenters

Ein Array von Objekten, von denen jedes die Secret-Referenzen für jeden vCenter-Server enthält. Fügen Sie nach Bedarf Einträge hinzu oder löschen Sie sie. Nachdem der Administratorcluster erstellt wurde, können Sie der Konfigurationsdatei bei Bedarf ein neues credentials.vCenters-Objekt hinzufügen und dann gkectl update admin ausführen, um die Konfiguration im Cluster zu aktualisieren.

credentials.vCenters[i].address

Unveränderlich
String

Die IP-Adresse oder der Hostname Ihres vCenter-Servers.

Weitere Informationen finden Sie unter vCenter-Serveradresse ermitteln.

credentials.vCenters[i].secretName

Unveränderlich
String

Der Name des Secrets. Der Name muss mit einer name in der benutzerdefinierten Ressource Secret übereinstimmen.

credentials.vCenters[i].secretNamespace

Unveränderlich
String
Vorab ausgefüllt: kube-system

Der Namespace, in dem sich das Secret befindet. Der Namespace muss mit dem entsprechenden namespace in der benutzerdefinierten Secret-Ressource übereinstimmen.

topologyDomains

Ein Array von Objekten, die jeweils eine Topologiedomainkonfiguration beschreiben. Fügen Sie nach Bedarf Einträge hinzu oder löschen Sie sie. Nachdem der Administratorcluster erstellt wurde, können Sie der Konfigurationsdatei bei Bedarf ein neues topologyDomains-Objekt hinzufügen und dann gkectl update admin ausführen, um die Konfiguration im Cluster zu aktualisieren.

topologyDomains[i].name

Unveränderlich
String

Der Name der Topologiedomain.

topologyDomains[i].topologyLabels

Eine Liste von Labels, die auf die Knoten innerhalb dieser Topologiedomain angewendet werden und vom Kubernetes-Planer verwendet werden. Jedes Label ist ein "key":"value"-Paar. Wir empfehlen, nur ein Label pro Topologiedomain anzugeben.

Beispiel:

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

Als Schlüssel können Sie die Standardeinschränkung "topology.kubernetes.io/zone" auf Kubernetes-Clusterebene verwenden, wie unter Vordefinierte Standardeinschränkungen beschrieben.

Nachdem der Cluster erstellt wurde, wird das von Ihnen angegebene Topologielabel den Labels der Knoten in der Topologiedomain zugewiesen. Wenn Sie "topology.kubernetes.io/zone" nicht als Schlüssel verwenden, müssen Sie den Topologieschlüssel in der PodTemplate in Ihrem Deployment, StatefulSet oder ReplicaSet konfigurieren.

Angenommen, Sie haben den Schlüssel im Topologielabel als "topology.examplepetstore.com/zone" definiert. In PodTemplate geben Sie den Schlüssel als Wert für das Feld topologySpreadConstraints.topologyKey an. So kann der Kubernetes-Planer Pods über die Topologiedomain verteilen, um eine hohe Verfügbarkeit zu gewährleisten und eine Überkonzentrierung in einem einzelnen Bereich bei einem Ausfall zu verhindern.

Weitere Informationen zum Konfigurieren von topologySpreadConstraints finden Sie in der Kubernetes-Dokumentation unter Begrenzungen für die Pod-Topologieverteilung.

topologyDomains[i].compute

Für diese Topologiedomain zugewiesene Rechenressourcen.

topologyDomains[i].compute.vcenter

Unveränderlich
String

Die IP-Adresse oder der Hostname Ihres vCenter-Servers.

Weitere Informationen finden Sie unter vCenter-Serveradresse ermitteln.

topologyDomains[i].compute.datacenter

Unveränderlich
String

Der relative Pfad eines vSphere-Rechenzentrums.

Der angegebene Wert ist relativ zum Stammordner mit dem Namen /.

Befindet sich Ihr Rechenzentrum im Stammordner, ist der Wert der Name des Rechenzentrums.

topologyDomains[i].compute.cluster

Unveränderlich
String

Der relative Pfad eines vSphere-Clusters, der für die ESXi-Hosts steht, auf denen Ihre Cluster-VMs in dieser Topologiedomain ausgeführt werden. Dieser vSphere-Cluster stellt eine Teilmenge der physischen ESXi-Hosts in Ihrem vCenter-Rechenzentrum dar.

Der von Ihnen angegebene Wert ist relativ zu /.../DATA_CENTER/vm/.

Wenn sich Ihr vSphere-Cluster im Ordner /.../DATA_CENTER/vm/ befindet, ist der Wert der Name des vSphere-Clusters.

Andernfalls ist der Wert ein relativer Pfad, der einen oder mehrere Ordner sowie den Namen des vSphere-Clusters enthält.

topologyDomains[i].compute.resourcePool

Unveränderlich
String

Einen vCenter-Ressourcenpool für Ihre VMs in dieser Topologiedomain.

Wenn Sie den Standardressourcenpool verwenden möchten, legen Sie dies auf VSPHERE_CLUSTER/Resources fest.

Beispiel:

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

Wenn Sie einen bereits erstellten Ressourcenpool verwenden möchten, legen Sie hier den relativen Pfad des Ressourcenpools fest.

Der von Ihnen angegebene Wert ist relativ zu /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/.

Wenn Ihr Ressourcenpool ein direktes untergeordnetes Element von /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/ ist, ist der Wert der Name des Ressourcenpools.

Beispiel:

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

Andernfalls ist der Wert ein relativer Pfad mit zwei oder mehr Ressourcenpools.

Beispiel:

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

topologyDomains[i].compute.folder

Optional
Unveränderlich
String

Der relative Pfad zu einem vSphere-Ordner, den Sie bereits erstellt haben. In diesem Ordner werden alle VMs in dieser Topologiedomain gespeichert.

Wenn Sie keinen Wert angeben, werden alle VMs in dieser Topologiedomain in /.../DATA_CENTER/vm/ platziert.

Wenn Sie einen Wert angeben, ist er relativ zu /.../DATA_CENTER/vm/.

Der Wert kann der Name eines Ordners sein.

Beispiel:

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

Der Wert kann auch ein relativer Pfad sein, der mehrere Ordner enthält.

Beispiel:

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

topologyDomains[i].storage

Speicherkonfigurationen dieser Topologiedomain. Sie wird nur von Datenlaufwerken und Bootlaufwerken virtueller Maschinen verwendet. CNS-Volumes (von PVCs und PVs bereitgestellt) sind nicht enthalten.

Geben Sie entweder einen Wert für storage.policyName oder für storage.datastore an, aber nicht für beide.

topologyDomains[i].storage.policyName

Erforderlich, wenn storage.datastore nicht angegeben ist
Unveränderlich
String

Der Name einer VM-Speicherrichtlinie für die Clusterknoten.

Weitere Informationen finden Sie unter Speicherrichtlinie konfigurieren.

Sie müssen entweder einen Wert für storage.datastore oder für storage.policyName angeben, aber nicht für beide. Wenn Sie einen Wert für dieses Feld angeben, geben Sie keinen Wert für storage.datastore an.

topologyDomains[i].storage.datastore

Erforderlich, wenn storage.policyName nicht angegeben ist
Unveränderlich
String

Der Name eines vSphere-Datenspeichers für Ihren Administratorcluster.

Der angegebene Wert muss ein Name und kein Pfad sein. Fügen Sie dem Wert keine Ordner hinzu.

Beispiel:

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

Sie müssen entweder einen Wert für storage.datastore oder für storage.PolicyName angeben, aber nicht für beide. Wenn Sie einen Wert für dieses Feld angeben, geben Sie keinen Wert für storage.PolicyName an.

topologyDomains[i].network

Netzwerkkonfigurationen dieser Topologiedomain.

topologyDomains[i].network.vsphereNetwork

Unveränderlich
String

Der Name des vSphere-Netzwerks für Ihre Clusterknoten.

Beispiel:

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

Wenn der Name ein Sonderzeichen enthält, müssen Sie dafür eine Escapesequenz verwenden.

Sonderzeichen Escapesequenz
Schrägstrich (/) %2f
Umgekehrter Schrägstrich (\) %5c
Prozentzeichen (%) %25

Wenn der Netzwerkname in Ihrem Rechenzentrum nicht eindeutig ist, können Sie einen vollständigen Pfad angeben.

Beispiel:

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

topologyDomains[i].network.gateway

Die Gateway-Adresse des Subnetzes für Clusterknoten in dieser Topologiedomain. Die IP-Adresse muss mit der Gateway-Adresse in der IP-Blockdatei übereinstimmen. Ein Beispiel finden Sie in der Beispiel-IP-Blockdatei für Topologiedomains.

topologyDomains[i].network.dnsServers

Unveränderliches
Array von Strings.
Die maximale Anzahl von Elementen im Array ist drei.

Die IP-Adressen der DNS-Server für die VMs.

topologyDomains[i].network.ntpServers

Unveränderlich
Array von Strings

Die IP-Adressen der Zeitserver, die von den VMs verwendet werden sollen.

topologyDomains[i].network.searchDomains

Optional
Unveränderlich
Array von Strings

DNS-Suchdomains, die von den VMs verwendet werden sollen. Diese Domains werden als Teil einer Domainsuchliste verwendet.

Beispiel:

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

topologyDomains[i].defaultTopologyDomain

Unveränderlich
Optional
String

Der Name der Standardtopologiedomain. Dieser Name muss mit einem der Namen in topologyDomains[i].name übereinstimmen. Wenn Sie beim Erstellen des Clusters keinen Standardnamen angeben, können Sie die Konfigurationsdatei bei Bedarf mit einem Namen aktualisieren und dann gkectl update admin ausführen, um die Konfiguration im Cluster zu aktualisieren.

Knoten werden der Standardtopologiedomain zugewiesen, es sei denn, Sie legen eine Topologiedomain für Knoten der Steuerungsebene oder Knoten in einem Knotenpool fest.

Beispiel: Konfigurationsdatei

Das folgende Beispiel zeigt eine Konfigurationsdatei mit ausgefüllten Werten.

apiVersion: v1
kind: Secret
metadata:
  namespace: kube-system
  name: "vsphere-auth-0"
stringData:
  admin-username: "example-admi1n@vsphere.local"
  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: "example-admin2@vsphere.local"
  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: "example-admin3@vsphere.local"
  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"