קובץ התצורה של תשתית vSphere

בדף הזה מתוארים השדות בקובץ תצורה של תשתית vSphere, שמשמש להגדרה של דומיינים של טופולוגיה. הקובץ הזה נדרש אם ההגדרה infraConfigFilePath מוגדרת בקובץ ההגדרות של אשכול האדמין.

בקטעים הבאים מופיעים תיאורים של האובייקטים והשדות במשאבים המותאמים אישית Secret ו-VSphereInfraConfig. בקטע קובץ תצורה לדוגמה שבהמשך מופיעות דוגמאות לערכים של השדות.

חובה למלא את כל השדות בקובץ ההגדרות, אלא אם מצוין שהם אופציונליים.

Secret

תיאור של סוד פרטי הכניסה של vSphere שבו מאוחסנים פרטי הכניסה של כל שרת vCenter. מוסיפים או מוחקים סודות לפי הצורך, בהתאם למספר המופעים של vCenter Server שבהם אתם מתכננים להשתמש עבור אשכול האדמין ואשכולות המשתמשים. צריך להפריד בין כל אובייקט באמצעות ---. אחרי שיוצרים את אשכול האדמין, אפשר להסיר את כל הסודות מקובץ ההגדרה הזה.

Secret.name

בלתי ניתן לשינוי
מחרוזת

השם של הסוד. השם הזה צריך להיות זהה לאחד מהשמות בשדה credentials.vCenters[i].secretName במשאב המותאם אישית VSphereInfraConfig.

Secret.namespace

Immutable
String
Prepopulated: kube-system

מרחב השמות שבו נמצא הסוד. מרחב השמות הזה צריך להיות זהה לשדה credentials.vCenters[i].secretNamespace המתאים במשאב המותאם אישית VSphereInfraConfig.

stringData.admin-username וגם stringData.admin-password

פרטי הכניסה של חשבון המשתמש ב-vCenter שיש לו תפקיד אדמין ב-vCenter Server או הרשאות שוות ערך. מידע נוסף זמין במאמר בנושא הרשאות של חשבון משתמש ב-vCenter.

stringData.ca-crt

Mutable
Multiline string

אישור ה-CA של שרת vCenter בקידוד Base64.

פועלים לפי השלבים במאמר בנושא קבלת אישור הבסיס של CA ב-vCenter עד שמריצים את הפקודה שמציגה את האישור בקידוד Base64. מעתיקים את האישור כולו ומדביקים אותו בשדה הזה.

VSphereInfraConfig

הגדרת התשתית של vSphere. ההגדרה הזו תישמר באשכול האדמין ותשותף בין אשכול האדמין לבין כל אשכולות המשתמשים שמנוהלים על ידו. לכל אשכול אדמין צריכה להיות רק הגדרת תשתית vSphere אחת.

VSphereInfraConfig.name

בלתי ניתן לשינוי
מחרוזת
מאוכלס מראש: ברירת מחדל

השם של הגדרת התשתית ב-vSphere.

credentials

פרטי הכניסה שמשמשים את הגדרת התשתית של vSphere.

credentials.vCenters

מערך של אובייקטים, שכל אחד מהם מכיל את ההפניות ל-Secret עבור כל שרת vCenter. מוסיפים או מוחקים רשומות לפי הצורך. אחרי שיוצרים את אשכול האדמין, אפשר להוסיף אובייקט credentials.vCenters חדש לקובץ ההגדרות, אם צריך, ואז להריץ את הפקודה gkectl update admin כדי לעדכן את ההגדרות באשכול.

credentials.vCenters[i].address

בלתי ניתן לשינוי
מחרוזת

כתובת ה-IP או שם המארח של שרת vCenter.

מידע נוסף זמין במאמר בנושא איתור הכתובת של vCenter Server.

credentials.vCenters[i].secretName

בלתי ניתן לשינוי
מחרוזת

שם הסוד. השם חייב להיות זהה לערך name במשאב המותאם אישית Secret.

credentials.vCenters[i].secretNamespace

בלתי ניתן לשינוי
מחרוזת
מאוכלס מראש kube-system

מרחב השמות שבו נמצא הסוד. מרחב השמות צריך להיות זהה לערך namespace המתאים במשאב המותאם אישית Secret.

topologyDomains

מערך של אובייקטים, שכל אחד מהם מתאר הגדרה של דומיין טופולוגי. מוסיפים או מוחקים רשומות לפי הצורך. אחרי שיוצרים את אשכול האדמין, אפשר להוסיף אובייקט topologyDomains חדש לקובץ ההגדרות אם צריך, ואז להריץ את הפקודה gkectl update admin כדי לעדכן את ההגדרות באשכול.

topologyDomains[i].name

בלתי ניתן לשינוי
מחרוזת

השם של דומיין הטופולוגיה.

topologyDomains[i].topologyLabels

רשימת התוויות שמוחלות על הצמתים בדומיין הטופולוגיה הזה, שמשמשות את מתזמן Kubernetes. כל תווית היא צמד "key":"value". מומלץ לציין רק תווית אחת לכל דומיין טופולוגי.

דוגמה:

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

למפתח, אפשר להשתמש באילוץ ברירת המחדל ברמת אשכול Kubernetes,‏ "topology.kubernetes.io/zone", כפי שמתואר במאמר אילוצי ברירת מחדל מובנים.

אחרי שיוצרים את האשכול, התווית של הטופולוגיה שציינתם מאוכלסת בתוויות של הצמתים בדומיין של הטופולוגיה. אם לא משתמשים ב-"topology.kubernetes.io/zone" כמפתח, צריך להגדיר את מפתח הטופולוגיה ב-PodTemplate בפריסה, ב-StatefulSet או ב-ReplicaSet, בהתאם לצורך.

לדוגמה, נניח שהגדרתם את המפתח בתווית הטופולוגיה כ-"topology.examplepetstore.com/zone". ב-PodTemplate, מציינים את המפתח כערך בשדה topologySpreadConstraints.topologyKey. כך מתזמן Kubernetes יכול לפזר את ה-Pods על פני תחום הטופולוגיה כדי להבטיח זמינות גבוהה ולמנוע ריכוז יתר באזור מסוים במקרה של כשל.

מידע נוסף על הגדרת topologySpreadConstraints זמין במאמר Pod Topology Spread Constraints במסמכי Kubernetes.

topologyDomains[i].compute

משאבי מחשוב שהוקצו לדומיין הטופולוגיה הזה.

topologyDomains[i].compute.vcenter

בלתי ניתן לשינוי
מחרוזת

כתובת ה-IP או שם המארח של שרת vCenter.

מידע נוסף זמין במאמר בנושא איתור הכתובת של vCenter Server.

topologyDomains[i].compute.datacenter

בלתי ניתן לשינוי
מחרוזת

הנתיב היחסי של מרכז נתונים ב-vSphere.

הערך שאתם מציינים הוא יחסי לתיקיית הבסיס שנקראת /.

אם מרכז הנתונים נמצא בתיקיית הבסיס, הערך הוא השם של מרכז הנתונים.

topologyDomains[i].compute.cluster

בלתי ניתן לשינוי
מחרוזת

הנתיב היחסי של אוסף vSphere שמייצג את המארחים של ESXi שבהם יפעלו מכונות ה-VM של האוסף בדומיין הטופולוגיה הזה. האשכול הזה ב-vSphere מייצג קבוצת משנה של מארחי ESXi הפיזיים במרכז הנתונים של vCenter.

הערך שאתם מציינים הוא ביחס ל-/.../DATA_CENTER/vm/.

אם אשכול vSphere נמצא בתיקייה /.../DATA_CENTER/vm/, הערך הוא השם של אשכול vSphere.

אחרת, הערך הוא נתיב יחסי שכולל תיקייה אחת או יותר יחד עם השם של אשכול vSphere.

topologyDomains[i].compute.resourcePool

בלתי ניתן לשינוי
מחרוזת

מאגר משאבים של vCenter למכונות הווירטואליות בדומיין הטופולוגיה הזה.

אם רוצים להשתמש במאגר ברירת המחדל של המשאבים, צריך להגדיר את האפשרות הזו לערך VSPHERE_CLUSTER/Resources.

דוגמה:

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

אם רוצים להשתמש במאגר משאבים שכבר יצרתם, צריך להגדיר את הנתיב היחסי של מאגר המשאבים.

הערך שאתם מציינים הוא ביחס ל-/.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/

אם מאגר המשאבים הוא צאצא ישיר של /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/, הערך הוא שם מאגר המשאבים.

דוגמה:

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

אחרת, הערך הוא נתיב יחסי עם שני מאגרי משאבים או יותר.

דוגמה:

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

topologyDomains[i].compute.folder

אופציונלי
בלתי ניתן לשינוי
מחרוזת

הנתיב היחסי של תיקיית vSphere שכבר יצרתם. בתיקייה הזו יישמרו כל המכונות הווירטואליות בדומיין הטופולוגיה הזה.

אם לא מציינים ערך, כל המכונות הווירטואליות בדומיין הטופולוגי הזה יועברו אל /.../DATA_CENTER/vm/.

אם מציינים ערך, הוא יחסי לערך /.../DATA_CENTER/vm/.

הערך יכול להיות שם של תיקייה.

דוגמה:

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

או שהערך יכול להיות נתיב יחסי שכולל יותר מתיקייה אחת.

דוגמה:

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

topologyDomains[i].storage

הגדרות האחסון של דומיין הטופולוגיה הזה. הוא משמש רק לדיסקים של נתונים ולדיסקים של אתחול במכונות וירטואליות. לא נכללים נפחי CNS (שמוקצים על ידי PVC ו-PV).

מציינים ערך למאפיין storage.policyName או למאפיין storage.datastore, אבל לא לשניהם.

topologyDomains[i].storage.policyName

חובה אם לא מציינים את storage.datastore
אי אפשר לשנות את הערך
מחרוזת

השם של מדיניות אחסון של מכונת VM לצמתי האשכול.

מידע נוסף מופיע במאמר בנושא הגדרת מדיניות אחסון.

חובה לציין ערך למאפיין storage.datastore או למאפיין storage.policyName, אבל לא לשניהם. אם מציינים ערך בשדה הזה, לא מציינים ערך במאפיין storage.datastore.

topologyDomains[i].storage.datastore

חובה אם לא מציינים את storage.policyName
אי אפשר לשנות את הערך
מחרוזת

השם של מאגר נתונים של vSphere עבור אשכול האדמין.

הערך שאתם מציינים צריך להיות שם, ולא נתיב. אסור לכלול תיקיות בערך.

דוגמה:

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

חובה לציין ערך למאפיין storage.datastore או למאפיין storage.PolicyName, אבל לא לשניהם. אם מציינים ערך בשדה הזה, לא מציינים ערך בשדה storage.PolicyName.

topologyDomains[i].network

הגדרות הרשת של דומיין הטופולוגיה הזה.

topologyDomains[i].network.vsphereNetwork

בלתי ניתן לשינוי
מחרוזת

השם של רשת vSphere עבור צמתי האשכול.

דוגמה:

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

אם השם מכיל תו מיוחד, צריך להשתמש ברצף escape בשביל התו.

תווים מיוחדים רצף בריחה
קו נטוי (/) %2f
לוכסן הפוך (\) %5c
סימן אחוז (%) %25

אם שם הרשת לא ייחודי במרכז הנתונים, אפשר לציין נתיב מלא.

דוגמה:

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

topologyDomains[i].network.gateway

כתובת השער של תת-הרשת עבור צמתי האשכול בדומיין הטופולוגיה הזה. כתובת ה-IP צריכה להיות זהה לכתובת השער בקובץ של בלוק כתובות ה-IP. דוגמה אפשר לראות בקובץ לדוגמה של חסימת כתובות IP עבור דומיינים של טופולוגיה.

topologyDomains[i].network.dnsServers

Immutable
מערך של מחרוזות.
המספר המקסימלי של רכיבים במערך הוא שלושה.

כתובות ה-IP של שרתי ה-DNS למכונות הווירטואליות.

topologyDomains[i].network.ntpServers

Immutable
Array of strings

כתובות ה-IP של שרתי הזמן שהמכונות הווירטואליות ישתמשו בהם.

topologyDomains[i].network.searchDomains

אופציונלי
בלתי ניתן לשינוי
מערך של מחרוזות

דומיינים לחיפוש DNS לשימוש במכונות הווירטואליות. הדומיינים האלה משמשים כחלק מרשימת חיפוש דומיינים.

דוגמה:

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

topologyDomains[i].defaultTopologyDomain

בלתי ניתן לשינוי
אופציונלי
מחרוזת

השם של דומיין הטופולוגיה שמוגדר כברירת מחדל. השם הזה חייב להיות זהה לאחד השמות ב-topologyDomains[i].name. אם לא מציינים שם ברירת מחדל בזמן יצירת האשכול, אפשר לעדכן את קובץ התצורה עם שם אם צריך, ואז להריץ את הפקודה gkectl update admin כדי לעדכן את התצורה באשכול.

הצמתים יוקצו לדומיין הטופולוגיה שמוגדר כברירת מחדל, אלא אם תגדירו דומיין טופולוגיה לצמתים במישור הבקרה או לצמתים במאגר הצמתים.

קובץ תצורה לדוגמה

בדוגמה הבאה מוצג קובץ תצורה עם ערכים שמולאו בו.

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"