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

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

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

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

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

Secret

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

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 או הרשאות שוות ערך. מידע נוסף זמין במאמר הרשאות של חשבון משתמש ב-vCenter.

stringData.ca-crt

ניתן לשינוי
מחרוזת עם כמה שורות

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

מבצעים את השלבים שמפורטים בקטע קבלת אישור הבסיס של ה-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.

credentials.vCenters[i].secretName

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

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

credentials.vCenters[i].secretNamespace

לא ניתנת לשינוי
מחרוזת
מערכת kube מאוכלסת מראש

מרחב השמות שבו נמצא הסוד. מרחב השמות חייב להתאים ל-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 ב-Deployment, ב-StatefulSet או ב-ReplicaSet, לפי הצורך.

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

מידע נוסף על הגדרת topologySpreadConstraints זמין במאמר אילוצי פריסה של טופולוגיית Pod במסמכי התיעוד של Kubernetes.

topologyDomains[i].compute

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

topologyDomains[i].compute.vcenter

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

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

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

topologyDomains[i].compute.datacenter

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

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

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

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

topologyDomains[i].compute.cluster

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

הנתיב היחסי של אשכול vSphere שמייצג את מארחי ה-ESXi שבהם יפעלו המכונות הווירטואליות של האשכול בדומיין הטופולוגיה הזה. אשכול ה-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].compute.hostGroups

זמין בגרסה 1.32.200 ובגרסה 1.33 ואילך:
אופציונלי
לא ניתן לשינוי
מערך של מחרוזות

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

דוגמה:

topologyDomains:
- name: "td-01"
  compute:
    hostGroups:
    - "my-hostgroup"

topologyDomains[i].storage

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

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

topologyDomains[i].storage.policyName

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

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

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

צריך לציין ערך ל-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 sequence).

תווים מיוחדים רצף בריחה (escape sequence)
לוכסן (/) %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

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

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

topologyDomains[i].network.ntpServers

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

כתובות ה-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"