GKE On-Prem API הוא API שמתארח ב-Google Cloud ומאפשר לכם לנהל את מחזור החיים של האשכולות המקומיים באמצעות כלים סטנדרטיים:Google Cloud המסוף, Google Cloud CLI או Terraform. כשיוצרים אשכול באמצעות אחד מהכלים האלה, ה-API שומר מטא-נתונים על מצב האשכול באזור שצוין כשיוצרים את האשכול. Google Cloud
המטא-נתונים האלה מאפשרים לכם לנהל את מחזור החיים של האשכול באמצעות הכלים הרגילים. אם רוצים להשתמש בכלים האלה כדי להציג פרטים של אשכולות או לנהל את מחזור החיים של אשכולות שנוצרו באמצעות gkectl, צריך לרשום את האשכולות ב-GKE On-Prem API.
הסברים על המונחים
רישום אשכול מאפשר לכם לנהל את מחזור החיים של האשכול באמצעות המסוף, ה-CLI של gcloud או Terraform.
הוספת אשכול היא תהליך נפרד מרישום אשכול ב-Fleet.
צי הוא קבוצה לוגית של אשכולות Kubernetes שאפשר לנהל אותם יחד. כל האשכולות של Google Distributed Cloud רשומים ב-Fleet בזמן יצירת האשכול. כשיוצרים אשכול באמצעות gkectl, האשכול נרשם לפרויקט Google Cloud שמציינים בשדה gkeConnect.projectID בקובץ ההגדרות של האשכול. הפרויקט הזה נקרא פרויקט המארח של ה-Fleet.
מידע נוסף על צי רכבים, כולל תרחישי שימוש, שיטות מומלצות ודוגמאות, זמין במסמכי התיעוד בנושא ניהול צי רכבים.
הצגת אשכולות רשומים
כל האשכולות של הצי מוצגים בדפים GKE Clusters במסוף. כך תוכלו לקבל סקירה כללית של כל צי המכונות שלכם, וב-Google Distributed Cloud תוכלו לראות אילו אשכולות מנוהלים על ידי GKE On-Prem API.
כדי לראות את אשכולות ה-Fleet:
-
במסוף, עוברים לדף GKE clusters.
מעבר לאשכולות GKE -
בוחרים את הפרויקט Google Cloud .
- אם VMware מוצג בעמודה Type, המשמעות היא שהאשכול מנוהל על ידי GKE On-Prem API.
- אם External מוצג בעמודה Type, האשכול לא מנוהל על ידי GKE On-Prem API.
דרישות
- גרסת אשכולות המשתמשים צריכה להיות 1.11 ומעלה.
גרסת האשכולות של האדמין צריכה להיות 1.13 ומעלה.
אם אתם לא בעלי הפרויקט, אתם צריכים לקבל לפחות את התפקיד
roles/gkeonprem.adminבממשק לניהול הזהויות והרשאות הגישה (IAM) בפרויקט. פרטים על ההרשאות שכלולות בתפקיד הזה מופיעים במאמר תפקידים ב-GKE on-prem במסמכי ה-IAM.
לפני שמתחילים
אם צריך, מגדירים את ה-CLI של gcloud.
אם אתם צריכים להתקין את ה-CLI של gcloud, תוכלו לעיין במסמכי התיעוד של gcloud CLI.
אם צריך, מעדכנים את הרכיבים של ה-CLI של gcloud:
gcloud components update
כדי להפעיל את GKE On-Prem API ולהשתמש בו, פועלים לפי השלבים הבאים:
מפעילים את ה-API בפרויקט:
gcloud services enable \ --project PROJECT_ID \ gkeonprem.googleapis.comמחליפים את
PROJECT_IDבמזהה הפרויקט המארח של Fleet. זהו מזהה הפרויקט שהוגדר בקטעgkeconnectשל קובץ ההגדרות של אשכול האדמין או של קובץ ההגדרות של אשכול המשתמשים.אם מופיעה השגיאה
PERMISSION_DENIED, צריך לבדוק שוב את מזהה הפרויקט שהזנתם. אם מזהה הפרויקט נכון, מריצים את הפקודהgcloud auth loginכדי להיכנס ל-Google Cloud CLI באמצעות החשבון שיש לו גישה לפרויקט.אם זו הפעם הראשונה שאתם מפעילים את GKE On-Prem API בפרויקט, אתם צריכים לאתחל את ה-API. כדי לעשות את זה, מריצים פקודה ב-CLI של gcloud שמציגה את הגרסאות הזמינות שאפשר להשתמש בהן כדי ליצור אשכול:
gcloud container vmware clusters query-version-config \ --project=PROJECT_ID \ --location=REGIONמחליפים את
REGIONב-us-west1או באזור נתמך אחר.
אם בארגון שלכם הוגדר רשימת כתובות שאפשר לעבור דרכן שמאפשרת לתנועה מממשקי Google APIs ומכתובות אחרות לעבור דרך שרת ה-proxy, צריך להוסיף לרשימה את הכתובות הבאות:
- gkeonprem.googleapis.com
- gkeonprem.mtls.googleapis.com
אלה שמות השירותים של GKE On-Prem API.
רישום של אשכול משתמשים
CLI של gcloud
מציגים את חברי הצי של אשכולות רשומים:
gcloud container fleet memberships list \ --project=PROJECT_IDמחליפים את
PROJECT_IDבמזהה הפרויקט המארח של Fleet.חשוב לשים לב לאזור שבו אשכול האדמין שמנהל את אשכול המשתמשים הוא חבר, כי תצטרכו את זה בשלב הבא.
רושמים את האשכול ל-GKE On-Prem API:
gcloud container vmware clusters enroll USER_CLUSTER_NAME \ --project=<var>PROJECT_ID</var> \ --admin-cluster-membership=projects/PROJECT_ID/locations/MEMBERSHIP_REGION/memberships/ADMIN_CLUSTER_NAME \ --location=REGIONמחליפים את מה שכתוב בשדות הבאים:
USER_CLUSTER_NAME: השם של אשכול המשתמשים שרוצים לרשום.
PROJECT_ID: מזהה הפרויקט של פרויקט המארח של ה-Fleet.
MEMBERSHIP_REGION: האזור שבו אשכול האדמין שמנהל את אשכול המשתמש הוא חבר. יכול להיות שהבעיה היא בglobalאו באזור Google Cloud .
ADMIN_CLUSTER_NAME: השם של אשכול האדמין שמנהל את אשכול המשתמשים.השם המלא של האשכול שמוגדר בדגל
--admin-cluster-membershipהואADMIN_CLUSTER_NAME,MEMBERSHIP_REGIONו-PROJECT_ID.
REGION: האזור שבו פועל GKE On-Prem API ושבו מאוחסנים המטא-נתונים של האשכול. Google Cloud מצייניםus-west1או אזור נתמך אחר. אחרי שמצרפים את האשכול, אי אפשר לשנות את האזור.
gkectl
מבצעים את השלבים הבאים בתחנת העבודה של האדמין.
מוסיפים את הקטע הבא לקובץ התצורה של אשכול המשתמשים:
gkeOnPremAPI: enabled:true location:REGIONמחליפים את הערך
REGIONבאזור Google Cloud שבו פועל GKE On-Prem API ושבו מאוחסנים המטא-נתונים של האשכול. מצייניםus-west1או אזור נתמך אחר. אחרי שמצרפים את האשכול, אי אפשר לשנות את האזור.מעדכנים את האשכול:
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG_FILE
מחליפים את מה שכתוב בשדות הבאים:
ADMIN_CLUSTER_KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול האדמין.
USER_CLUSTER_CONFIG_FILE: הנתיב של קובץ ההגדרות של אשכול המשתמש.
רישום של אשכול אדמין
CLI של gcloud
מציגים את חברי הצי של אשכולות רשומים:
gcloud container fleet memberships list \ --project=PROJECT_IDמחליפים את
PROJECT_IDבמזהה הפרויקט המארח של Fleet.חשוב לשים לב לאזור שבו אשכול האדמין הוא חבר, כי תצטרכו את זה בשלב הבא.
מצטרפים אל GKE On-Prem API עם אשכול הניהול:
gcloud container vmware admin-clusters enroll ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --admin-cluster-membership=projects/PROJECT_ID/locations/MEMBERSHIP_REGION/memberships/ADMIN_CLUSTER_NAME \ --location=REGION
מחליפים את מה שכתוב בשדות הבאים:
ADMIN_CLUSTER_NAME: השם של אשכול האדמין שרוצים לרשום.
PROJECT_IDמזהה הפרויקט של פרויקט המארח של Fleet.
MEMBERSHIP_REGION: האזור שבו אשכול האדמין הוא חבר. יכול להיות שמדובר בglobalאו באזור Google Cloud .השם המלא של האשכול שמוגדר בדגל
--admin-cluster-membershipמורכב מ-ADMIN_CLUSTER_NAME,MEMBERSHIP_REGIONו-PROJECT_ID.
REGION: האזור שבו פועל GKE On-Prem API ושבו מאוחסנים המטא-נתונים של האשכול. Google Cloud מצייניםus-west1או אזור נתמך אחר. מומלץ להשתמש באותו אזור שמוגדר ב-stackdriver.clusterLocationבקובץ ההגדרות של אשכול האדמין. אחרי שמצרפים את האשכול, אי אפשר לשנות את האזור.
gkectl
מבצעים את השלבים הבאים בתחנת העבודה של האדמין.
מוסיפים את הקטע הבא לקובץ התצורה של אשכול הניהול:
gkeOnPremAPI: enabled:true location:REGIONמחליפים את הערך
REGIONבאזור Google Cloud שבו פועל GKE On-Prem API ושבו מאוחסנים המטא-נתונים של האשכול. מצייניםus-west1או אזור נתמך אחר. מומלץ להשתמש באותו אזור שמוגדר ב-stackdriver.clusterLocation. אחרי שמצרפים את האשכול, אי אפשר לשנות את האזור.מעדכנים את האשכול:
gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG_FILE
מחליפים את מה שכתוב בשדות הבאים:
ADMIN_CLUSTER_KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול האדמין.
ADMIN_CLUSTER_CONFIG_FILE: הנתיב של קובץ ההגדרות של אשכול האדמין.
קבלת מידע על האשכול
אחרי שמצרפים את האשכול, אפשר להשתמש בפקודות הבאות כדי לקבל מידע על האשכולות:
אשכול משתמשים
- כדי לתאר אשכול משתמשים:
gcloud container vmware clusters describe USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
- כדי להציג רשימה של אשכולות המשתמשים:
gcloud container vmware clusters list \ --project=PROJECT_ID \ --location=-
כשמגדירים את --location=-, המשמעות היא שצריך לרשום את כל האשכולות בכל האזורים. אם צריך לצמצם את הרשימה, מגדירים את --location לאזור שציינתם כשנרשמתם לאשכול.
קלאסטר אדמין
- כדי לתאר אשכול אדמין:
gcloud container vmware admin-clusters describe ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
- כדי להציג את רשימת אשכולות האדמין:
gcloud container vmware admin-clusters list \ --project=PROJECT_ID \ --location=-
כשמגדירים את --location=-, המשמעות היא שצריך לרשום את כל האשכולות בכל האזורים. אם צריך לצמצם את הרשימה, מגדירים את --location לאזור שציינתם כשנרשמתם לאשכול.
התחברות לאשכול
אחרי שמצרפים את האשכול ל-GKE On-Prem API, צריך לבחור ולהגדיר שיטת אימות כדי שתוכלו לנהל את האשכול מGoogle Cloud המסוף. שיטת האימות שבוחרים קובעת גם את הגישה לאשכול משורת הפקודה. למידע נוסף, קראו את המאמרים הבאים: