יצירת אשכול אדמין באמצעות Terraform

אם אתם כבר משתמשים ב-Terraform כדי לנהל את משאבי VMware Google Cloud ואת משאבי VMware המקומיים, אתם יכולים להשתמש ב-Terraform כדי ליצור אשכול אדמין לתוכנת Google Distributed Cloud רק עבור VMware. אפשר גם ליצור אשכול אדמין באמצעות gkectl או מסוףGoogle Cloud .

לפני שמתחילים

  • חשוב לוודא שהגדרתם את תחנת העבודה לאדמין ושאתם יכולים להיכנס אליה כמו שמתואר במאמר יצירת תחנת עבודה לאדמין.

  • מוודאים שקובצי מפתח ה-JSON של חשבונות השירות נמצאים בתחנת העבודה של האדמין.

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

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

  • אם אתם משתמשים ב-gkectl כדי ליצור את אשכול האדמין, אתם צריכים להחליט אם אתם רוצים להשתמש במאגר ציבורי או פרטי לרכיבי Google Distributed Cloud. מידע על שימוש במאגר פרטי של Docker זמין במאמר privateRegistry. אי אפשר להשתמש במאגר Docker פרטי לרכיבי מערכת, גם לא ב-Terraform וגם לא במסוף Google Cloud .

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

  • אם הארגון שלכם דורש שתעבורה יוצאת תעבור דרך שרת proxy, הקפידו להוסיף לרשימת ההיתרים את ממשקי ה-API הנדרשים ואת הכתובת של Artifact Registry.

  • בגרסה 1.29 ומעלה, בדיקות מקדימות בצד השרת מופעלות כברירת מחדל. בדיקות קדם-הפעלה בצד השרת דורשות כללי חומת אש נוספים. בקטע Firewall rules for admin clusters (כללי חומת אש לאשכולות אדמין), מחפשים את האפשרות Preflight checks (בדיקות לפני המראה) ומוודאים שכל כללי חומת האש הנדרשים מוגדרים. בדיקות מקדימות בצד השרת מופעלות באשכול bootstrap במקום באופן מקומי בתחנת העבודה של האדמין.

סקירה כללית של התהליך

לפני שיוצרים את אשכול האדמין, צריך להריץ את הפקודה gkectl register bootstrap בתחנת העבודה של האדמין. הפקודה הזו פורסת אשכול Kubernetes ב-Docker ‏(kind) בתחנת העבודה של האדמין. באשכול האתחול הזה מתארחים בקרי Kubernetes שנדרשים ליצירת אשכול האדמין. כשיוצרים את אשכול האדמין, הבקרים באשכול ה-bootstrap יקצו צמתים, יריצו בדיקות קדם-הפעלה וירשמו את אשכול האדמין ב-Fleet. אחרי שנוצר אשכול האדמין, אשכול האתחול נמחק אוטומטית.

אלה השלבים ברמה גבוהה ליצירת אשכול אדמין באמצעות Terraform:

  1. ממלאים את קובץ ההגדרות. משתמשים במשאב google_gkeonprem_vmware_admin_cluster ובדוגמה הבאה כדי ליצור את קובץ ההגדרות main.tf.

  2. יוצרים אשכול bootstrap. מריצים את הפקודה gkectl register bootstrap כדי ליצור את אשכול ה-bootstrap. בסיום הפקודה ליצירת אשכול האתחול, הפלט מודיע לכם שצריך לסיים את הגדרת אשכול האדמין. התהליך ממשיך לפעול עד שנוצר אשכול האדמין.

  3. ליצור אשכול אדמין. בחלון מסוף אחר או במחשב אחר שיש לו גישה ל-GKE On-Prem API, מריצים פקודות terraform כדי ליצור אשכול אדמין חדש, כמו שצוין בקובץ ההגדרות main.tf שהשלמתם.

מילוי קובץ התצורה

בדוגמה הבאה מוצג תהליך של יצירת אשכול אדמין עם זמינות גבוהה (HA) ושלושה צמתי מישור בקרה באמצעות MetalLB. בגרסה 1.28 ואילך, אשכולות אדמין חדשים צריכים להיות בעלי זמינות גבוהה. בגלל הדרישה הזו, אתם צריכים להגדיר את control_plane_node.replicas ל-3.

מידע נוסף ודוגמאות נוספות מופיעים במאמרי העזרה בנושא google_gkeonprem_vmware_admin_cluster. מידע על שימוש במאגר פרטי לתמונות מערכת זמין במאמר בנושא הגדרת מאגר פרטי של קונטיינרים.

ממלאים את משתני ה-placeholder בדוגמה הבאה, ואז מעתיקים ומדביקים אותה אל main.tf. אם השתמשתם ב-gkeadm כדי ליצור את תחנת העבודה של האדמין, פותחים את קובץ ההגדרות של תחנת העבודה של האדמין כדי להעתיק ערכים מהקטע vCenter למשתני ה-placeholder המתאימים.

resource "google_gkeonprem_vmware_admin_cluster" "admin-cluster-metallb" {
  provider = google-beta
  name = "ADMIN_CLUSTER_NAME"
  project = "PROJECT_ID"
  location = "REGION"
  description = "DESCRIPTION"
  bootstrap_cluster_membership = "projects/PROJECT_ID/locations/REGION/memberships/bootstrap-ADMIN_CLUSTER_NAME"
  on_prem_version = "VERSION"
  image_type = "IMAGE_TYPE"
  vcenter {
    address = "VCENTER_ADDRESS"
    datacenter = "DATA_CENTER"
    cluster = "VCENTER_CLUSTER"
    resource_pool = "RESOURCE_POOL"
    datastore = "DATASTORE"
    ca_cert_data = "CA_CERT_DATA"
  }
  network_config {
    service_address_cidr_blocks = ["10.96.232.0/24"]
    pod_address_cidr_blocks = ["192.168.0.0/16"]
    vcenter_network = "NETWORK"
    dhcp_ip_config {
      enabled = true
    }
    host_config {
      dns_servers = ["DNS_SERVERS"]
      ntp_servers = ["NTP_SERVERS"]
    }
    ha_control_plane_config {
      control_plane_ip_block {
        gateway = "GATEWAY"
        netmask = "NETMASK"
        ips {
          hostname = "CONTROL_PLANE_HOST_1"
          ip       = "CONTROL_PLANE_NODE_IP_1"
        }
        ips {
          hostname = "CONTROL_PLANE_HOST_2"
          ip       = "CONTROL_PLANE_NODE_IP_2"
        }
        ips {
          hostname = "CONTROL_PLANE_HOST_3"
          ip       = "CONTROL_PLANE_NODE_IP_3"
        }
      }
    }
  }
  control_plane_node {
     cpus = NUM_CPUS
     memory = MEMORY
     replicas = 3
  }
  load_balancer {
    vip_config {
      control_plane_vip = "CONTROL_PLANE_VIP"
    }
    metal_lb_config {
      enabled = true
    }
  }
}

מחליפים את מה שכתוב בשדות הבאים:

  • ADMIN_CLUSTER_NAME: השם של אשכול האדמין. האורך המקסימלי של השם הוא 20 תווים.

  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .

  • REGION: האזור שבו פועלים GKE On-Prem API ‏ (gkeonprem.googleapis.com), שירות Fleet ‏(gkehub.googleapis.com) ושירות Connect ‏(gkeconnect.googleapis.com). Google Cloud מציינים us-west1 או אזור נתמך אחר.

    השדה location תואם לדגל --location בפקודה gkectl register bootstrap.

  • DESCRIPTION: תיאור של אשכול האדמין.

  • VERSION: הגרסה של Google Distributed Cloud עבור האשכול. אפשר ליצור אשכול באמצעות Terraform רק בגרסאות 1.28 ומעלה. הגרסה שמציינים כאן צריכה להיות זהה לגרסת החבילה שמציינים בדגל --bundle-path בפקודה gkectl register bootstrap. רשימת הגרסאות זמינה במאמר גרסאות של Google Distributed Cloud.

  • IMAGE_TYPE: סוג תמונת מערכת ההפעלה שרוצים להריץ בצמתים של אשכול האדמין. מציינים אחד מהערכים הבאים: "ubuntu_containerd",‏ "cos",‏ "ubuntu_cgv2" או "cos_cgv2".

  • VCENTER_ADDRESS: הכתובת של vCenter Server.

    • קובץ ההגדרה של תחנת העבודה לאדמין: משתמשים בערך מהשדה vCenter.credentials.address.

    • השדה vcenter.address תואם לדגל --vcenter-address בפקודה gkectl register bootstrap.

  • DATA_CENTER: השם של מרכז הנתונים של vCenter.

    • קובץ ההגדרה של תחנת העבודה לאדמין: משתמשים בערך מהשדה vCenter.datacenter.

    • השדה vcenter.datacenter תואם לדגל --vcenter-datacenter בפקודה gkectl register bootstrap.

  • VCENTER_CLUSTER: השם של אוסף השרתים של vCenter.

    • קובץ ההגדרה של תחנת העבודה לאדמין: משתמשים בערך מהשדה vCenter.cluster.

    • השדה vcenter.cluster תואם לדגל --vcenter-cluster בפקודה gkectl register bootstrap.

  • RESOURCE_POOL: השם או הנתיב של מאגר משאבים ב-vCenter.

    • קובץ ההגדרה של תחנת העבודה לאדמין: משתמשים בערך מהשדה vCenter.resourcePool.

    • השדה vcenter.resource_pool תואם לדגל --vcenter-resource-pool בפקודה gkectl register bootstrap.

  • DATASTORE: השם של מאגר הנתונים של vCenter. הערך שאתם מציינים צריך להיות שם, ולא נתיב. אם צריך להזין נתיב, מוסיפים את השדה הבא: folder = "FOLDER"

    • קובץ ההגדרה של תחנת העבודה לאדמין: משתמשים בערך מהשדה vCenter.datastore.

    • השדה vcenter.datastore תואם לדגל --vcenter-datastore בפקודה gkectl register bootstrap.

    אם רוצים להשתמש במדיניות אחסון של מכונה וירטואלית לצמתי האשכול, צריך להסיר את השדה vcenter.datastore ולהוסיף במקומו את vcenter.storage_policy_name. בנוסף, מוסיפים את הדגל --vcenter-storage-policy לפקודה gkectl register bootstrap. חובה לציין ערך למאפיין vcenter.datastore או למאפיין vcenter.storage_policy_name, אבל לא לשניהם.

  • FOLDER: השם של התיקייה ב-vCenter שבה ימוקמו מכונות וירטואליות של האשכול. אם לא משתמשים בתיקייה, מסירים את השדה הזה.

    • קובץ ההגדרה של תחנת העבודה לאדמין: משתמשים בערך מהשדה vCenter.folder.

    • השדה vcenter.folder תואם לדגל --vcenter-folder בפקודה gkectl register bootstrap.

  • CA_CERT_DATA: אישור ה-CA של vCenter בפורמט PEM, אבל עם כל השורות החדשות שהוחלפו במחרוזת \n.

    1. מריצים את הפקודה הבאה כדי להחליף את השורות החדשות ב-\n:

      awk 'ORS="\\n" {print}' CA_CERT_PATH_LOCAL
      

      מחליפים את CA_CERT_PATH_LOCAL בנתיב אל אישור CA בסיסי של vCenter Server. אם השתמשתם ב-gkeadm כדי ליצור את תחנת העבודה של האדמין, תוכלו להשתמש בערך מהשדה caCertPath בקובץ ההגדרות של תחנת העבודה של האדמין, שהוא הנתיב במחשב המקומי. gkeadm העתקתם את קובץ אישור ה-CA לתחנת העבודה של האדמין. צריך לציין את הנתיב של תחנת העבודה של האדמין בדגל --vcenter-ca-cert-path בפקודה gkectl register bootstrap.

    2. מעתיקים את הפלט של הפקודה הקודמת ומדביקים אותו במשתנה CA_CERT_DATA של placeholder.

  • NETWORK: השם של רשת vCenter.

    • קובץ ההגדרה של תחנת העבודה של האדמין: משתמשים בערך מהשדה vCenter.network.

    • השדה network_config.vcenter_network תואם לדגל --vcenter-network בפקודה gkectl register bootstrap.

  • GATEWAY: כתובת ה-IP של שער ברירת המחדל של תת-הרשת שכוללת את הצמתים של אשכול מישור הבקרה.

  • NETMASK: מסכת הרשת של תת-הרשת שכוללת את צמתי אשכול מישור הבקרה.

  • DNS_SERVERS: כתובת ה-IP של שרת ה-DNS.

  • NTP_SERVERS: כתובת ה-IP של שרת הזמן (NTP).

  • מזינים את כתובות ה-IP ואת שם המארח (אופציונלי) של שלושת הצמתים של מישור הבקרה בקטע control_plane_ip_block.ips. אם לא מזינים שם מארח, צריך להסיר את השדות hostname מההגדרה.

  • NUM_CPUS : מספר ליבות ה-vCPU לכל צומת של מישור הבקרה באשכול האדמין. צריך להזין לפחות 4.

  • MEMORY: מספר המביבייט של הזיכרון לכל צומת של מישור הבקרה באשכול האדמין. הערך המינימלי הוא 8,192, אבל מומלץ להשתמש בערך 16,384.

  • CONTROL_PLANE_VIP: כתובת ה-IP שבחרתם להגדיר במאזן העומסים עבור שרת Kubernetes API של אשכול האדמין.

אופציונלי: הגדרת מאגר פרטי

כברירת מחדל, במהלך יצירה או שדרוג של אשכול, Google Distributed Cloud מושך תמונות מערכת מ-gcr.io/gke-on-prem-release באמצעות חשבון השירות של רכיב הגישה. אופציונלי: אתם יכולים לספק שרת רישום קונטיינרים משלכם, כדי שתמונות המערכת יימשכו משרת הרישום הפרטי שלכם במקום זאת.

כדי להגדיר מאגר פרטי:

  1. מוסיפים את השורות הבאות לקובץ התצורה של אשכול הניהול:

    private_registry_config {
      address = "ADDRESS"
      ca_cert = "CA_CERT"
    }
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ADDRESS: כתובת ה-IP או שם הדומיין המוגדר במלואו (FQDN) של המכונה שמריצה את המאגר הפרטי.

    • CA_CERT: נתוני אישור ה-CA של המפתח הציבורי, אבל כל השורות החדשות מוחלפות במחרוזת \n.

    1. מריצים את הפקודה הבאה כדי להחליף את השורות החדשות ב-\n:

      awk 'ORS="\\n" {print}' PUBLIC_KEY_PATH
      

      מחליפים את הערך ב-PUBLIC_KEY_PATH בנתיב למפתח הציבורי.

    2. מעתיקים את הפלט של הפקודה הקודמת ומדביקים אותו במשתנה CA_CERT של placeholder.

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

    proxy {
      url: "PROXY_SERVER_ADDRESS"
      no_proxy: "BYPASS_LIST"
    }
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROXY_SERVER_ADDRESS: כתובת ה-HTTP של שרת ה-Proxy. צריך לכלול את מספר היציאה גם אם הוא זהה ליציאת ברירת המחדל של הסכימה.

    • BYPASS_LIST: רשימה מופרדת בפסיקים של כתובות IP, טווחי כתובות IP, שמות מארחים ושמות דומיינים שלא אמורים לעבור דרך שרת ה-Proxy.

    דוגמה:

    url: "http://my-proxy.example.local:80"
    no_proxy: "192.0.2.0/24,my-host.example.local,198.51.100.0"
    

    כש-Google Distributed Cloud שולח בקשה לאחת מהכתובות, המארחים או הדומיינים האלה, הבקשה עוקפת את שרת ה-proxy ונשלחת ישירות ליעד.

מידע נוסף על שימוש במאגר פרטי, כולל ההבדלים בין אשכולים רגילים לאשכולים מתקדמים, זמין במאמר הגדרת מאגר פרטי של קונטיינרים.

אימות קובץ התצורה והתוכנית

בספרייה שבה נמצא main.tf, מריצים את הפקודות הבאות:

  1. מאתחלים את Terraform:

    terraform init
    

    ‫Terraform מתקין את כל הספריות הנדרשות, כמו פלאגין שמתממשק עם שירותים חיצוניים Google Cloud . אם צריך, מתקנים שגיאות בmaint.tf.

  2. יוצרים את התוכנית ב-Terraform:

    terraform plan -out tfplan
    

    בודקים את ההגדרות ומבצעים שינויים לפי הצורך.

לפני שמחילים את התוכנית, צריך קודם ליצור את אשכול ה-bootstrap כמו שמתואר בקטע הבא.

יצירת אשכול האתחול

כשמריצים את הפקודה gkectl register bootstrap, מוצגת בקשה להזין את שם המשתמש והסיסמה של חשבון vCenter. חשוב לוודא שיש לכם את פרטי הכניסה. אם השתמשתם ב-gkeadm כדי ליצור את תחנת העבודה של האדמין, שם המשתמש והסיסמה נמצאים בקובץ credential.yaml.

  1. מתחברים לתחנת העבודה של האדמין באמצעות SSH.

  2. מאמתים באמצעות Google Cloud CLI:

    gcloud auth login
    
  3. מריצים את הפקודה הבאה כדי ליצור את אשכול האתחול. הרבה ערכים של דגלים זהים לערכים בשדות main.tf. עם זאת, שימו לב שהפקודה מקבלת ערכים נוספים שצריך לציין במשתני ה-placeholder שסופקו.

    gkectl register bootstrap \
        --target-cluster-name=ADMIN_CLUSTER_NAME \
        --project-id=PROJECT_ID \
        --location=REGION \
        --vcenter-address=VCENTER_ADDRESS \
        --vcenter-datacenter=DATA_CENTER \
        --vcenter-cluster=VCENTER_CLUSTER \
        --vcenter-resource-pool=RESOURCE_POOL \
        --vcenter-datastore=DATASTORE \
        --vcenter-network=NETWORK \
        --vcenter-ca-cert-path=CA_CERT_PATH \
        --bundle-path=BUNDLE_PATH \
        --component-access-service-account-key-path=COMPONENT_ACCESS_SA_PATH \
        --register-service-account-key-path=CONNECT_REGISTER_SA_PATH \
        --stackdriver-service-account-key-path=LOG_MON_SA_PATH \
        --cloud-audit-logging-service-account-key-path=CLOUD_AUDIT_SA_PATH \
        --admin-kubeconfig-out=KUBECONFIG_NAME
    

    מחליפים את הערכים הבאים בנתיבים של תחנת העבודה של האדמין:

    • CA_CERT_PATH: הנתיב לאישור CA הבסיסי של vCenter Server.
    • BUNDLE_PATH: הנתיב לקובץ החבילה. אם השתמשתם ב-gkeadm כדי ליצור את תחנת העבודה של האדמין, קובץ החבילה נמצא ב-/var/lib/gke/bundles/. שם הקובץ תלוי בגרסה של Google Distributed Cloud, לדוגמה, gke-onprem-vsphere-1.31.0-gke.889-full.tgz.
    • COMPONENT_ACCESS_SA_PATH: הנתיב לקובץ המפתח של חשבון השירות של רכיב הגישה.
    • CONNECT_REGISTER_SA_PATH: הנתיב לקובץ המפתח של חשבון השירות connect-register.
    • LOG_MON_SA_PATH: הנתיב לקובץ המפתח של חשבון השירות של שירות הרישום ביומן והמעקב.
    • CLOUD_AUDIT_SA_PATH: הנתיב לחשבון השירות של יומן הביקורת. אם לא יצרתם חשבון שירות לרישום ביומן ביקורת, מציינים את הנתיב לקובץ המפתח של חשבון השירות של שירות הרישום ביומן והמעקב.
    • KUBECONFIG_NAME: השם של קובץ ה-kubeconfig שנוצר באמצעות הפקודה gkectl register bootstrap. אם לא מציינים את הדגל הזה, הפקודה יוצרת את הקובץ בשם kubeconfig בספריית העבודה הנוכחית. אם קיים קובץ בשם kubeconfig, הפקודה מחליפה את הקובץ.

    משנים את הפקודה לפי הצורך עבור הדגלים הבאים:

    • אם ציינתם תיקייה ב-main.tf, מוסיפים את הדגל הבא: --vcenter-folder=FOLDER
    • אם ציינתם מדיניות אחסון של מכונה וירטואלית ב-main.tf, מסירים את --vcenter-datastore ומוסיפים את הדגל הבא: --vcenter-storage-policy-name=STORAGE_POLICY_NAME
    • אם תחנת העבודה של האדמין תהיה ברשת שמוגנת על ידי שרת proxy, צריך להוסיף את הדגלים הבאים:

      • --proxy-url=PROXY_URL
      • --no-proxy=NO_PROXY

      מחליפים את מה שכתוב בשדות הבאים:

      • PROXY_URL: כתובת ה-URL של שרת ה-Proxy.
      • NO_PROXY: הערך של הדומיינים וכתובות ה-IP שמוחרגים מהפעלת ה-Proxy, מופרדים בפסיקים.

    אם מוסיפים דגל, צריך להוסיף את התו של קו נטוי הפוך (\) להמשך שורת הפקודה.

  4. כשמתבקשים, מזינים (או מעתיקים ומדביקים) את שם המשתמש ב-vCenter. שם המשתמש לא מוצג במסך.

  5. כשמופיעה בקשה, מזינים (או מעתיקים ומדביקים) את הסיסמה של vCenter. הסיסמה לא מוצגת במסך.

הפקודה מריצה מספר רב של אימותים. אחרי ש-gkectl יוצר את אשכול ה-bootstrap, מוצג פלט שדומה לזה (הפלט קוצר כדי שיהיה קל יותר לקרוא אותו):

Running workstation validations
- Validation Category: Workstation
    - [SUCCESS] Workstation OS
    - [SUCCESS] Workstation Hardware
    - [SUCCESS] Workstation Package
    - [SUCCESS] Workstation NTP
    - [SUCCESS] Workstation Docker
...
All validation results were SUCCESS.
Unpacking GKE on-prem bundle: /var/lib/gke/bundles/gke-onprem-vsphere-1.31.0-gke.889-full.tgz
...
Successfully created and registered the bootstrap cluster
...
Waiting for preflight checks to run or OnPremAdminCluster to be applied...... -

התהליך ממשיך לפעול עד שנוצר אשכול האדמין.

אם יוצאים מהפקודה gkectl register bootstrap לפני שנוצר אשכול האדמין, יצירת אשכול האדמין נכשלת, ותצטרכו למחוק את אשכול האתחול באמצעות הפקודה הבאה:

gkectl delete bootstrap \
    --target-cluster-name=ADMIN_CLUSTER_NAME \
    --project-id=PROJECT_ID \
    --location=REGION \
     --register-service-account-key-path=CONNECT_REGISTER_SA_PATH

יצירת אשכול האדמין

מחילים את תוכנית Terraform כדי ליצור את אשכול האדמין:

terraform apply "tfplan"

יצירת אשכול האדמין נמשכת כ-15 דקות או יותר. אפשר לראות את האשכול במסוף Google Cloud בדף GKE clusters.

התחברות לאשכול הניהול

הפקודה gkectl register bootstrap יוצרת קובץ kubeconfig עבור אשכול האדמין בתחנת העבודה של האדמין. אם לא ציינתם את הדגל --admin-kubeconfig-out כשביצעתם את הפקודה gkectl register bootstrap, הפקודה יוצרת קובץ kubeconfig בשם kubeconfig בספרייה שבה הפעלתם את הפקודה.

צריך להגביל את הגישה אל kubeconfig כי הוא מכיל פרטי אימות של האשכול.

בנוסף, אפשר להריץ פקודות של kubectl לקריאה בלבד דרך שער החיבור.

  1. מריצים את הפקודה הבאה במחשב שמותקן בו ה-CLI של gcloud כדי לקבל רשומה kubeconfig שמאפשרת גישה לאשכול דרך שער החיבור.

    gcloud container fleet memberships get-credentials ADMIN_CLUSTER_NAME \
        --project=PROJECT_ID
    

    הפלט אמור להיראות כך:

    Starting to build Gateway kubeconfig...
    Current project_id: PROJECT_ID
    A new kubeconfig entry "connectgateway_PROJECT_ID_global_ADMIN_CLUSTER_NAME" has been generated and set as the current context.
    
  2. עכשיו אפשר להריץ פקודות של kubectl לקריאה בלבד דרך שער החיבור, כמו הפקודות הבאות:

    kubectl get pods -A
    

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