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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ממלאים את משתני הפלייסהולדר בדוגמה הבאה, ואז מעתיקים ומדביקים אותה ב-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: האזור ב- Google Cloud שבו פועלים GKE On-Prem API‏ (gkeonprem.googleapis.com), שירות Fleet‏ (gkehub.googleapis.com) ושירות Connect‏ (gkeconnect.googleapis.com). מציינים את 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.

    • קובץ התצורה של תחנת העבודה של האדמין: משתמשים בערך מהשדה 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.

    אם רוצים להשתמש במדיניות אחסון של VM לצומתי האשכול, צריך להסיר את השדה 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. אם השתמשתם ב-gkeadm כדי ליצור את תחנת העבודה של האדמין, אתם יכולים להשתמש בערך מהשדה caCertPath בקובץ התצורה של תחנת העבודה של האדמין, שהוא הנתיב במחשב המקומי. gkeadm העתקתם את קובץ אישור ה-CA לתחנת העבודה של האדמין. צריך לציין את הנתיב של תחנת העבודה לניהול בדגל --vcenter-ca-cert-path בפקודה gkectl register bootstrap.

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

  • ‫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 : מספר המעבדים הווירטואליים לכל צומת במישור הבקרה באשכול האדמין. הערך המינימלי הוא 4.

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

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

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

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

כדי להגדיר מרשם פרטי:

  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. מעתיקים את הפלט של הפקודה הקודמת ומדביקים אותו במשתנה של ה-placeholder‏ CA_CERT.

  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 ונשלחת ישירות ליעד.

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

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

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

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

    terraform init
    

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

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

    terraform plan -out tfplan
    

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

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

יצירת אשכול ה-bootstrap

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

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

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

    gcloud auth login
    
  3. מריצים את הפקודה הבאה כדי ליצור את אשכול ה-bootstrap. רבים מהערכים של הדגלים זהים לאלה שבשדות 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 ברמה הבסיסית (root) של שרת ה-vCenter.
    • ‫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
    • אם ציינתם מדיניות אחסון של VM ב-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 שמוחרגים מהפרוקסי, מופרדים בפסיקים.

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

  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 לפני שנוצר אשכול האדמין, היצירה של אשכול האדמין נכשלת וצריך למחוק את אשכול ה-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 דקות או יותר. אפשר לראות את אשכול GKE במסוף 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
    

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