באמצעות GKE On-Prem API אתם יכולים לנהל את מחזורי החיים של אשכולות מקומיים באמצעות מסוףGoogle Cloud , Google Cloud CLI או Terraform. כשיוצרים אשכול באמצעות הכלים האלה, ה-API מאחסן את המטא-נתונים של האשכול באזור Google Cloudשבחרתם. אם אתם יוצרים אשכולות באמצעות bmctl, אתם צריכים לרשום אותם ב-GKE On-Prem API כדי לראות פרטים ולנהל את מחזורי החיים שלהם דרך הממשקים האלה.
רישום אשכול הוא תהליך נפרד מרישום אשכול ל-fleet. כל האשכולות של Google Distributed Cloud נרשמים באופן אוטומטי לפרויקט מארח של Fleet בזמן היצירה. במסוף Google Cloud , אשכולות רשומים שמנוהלים על ידי GKE On-Prem API מופיעים כ-Bare metal בעמודה Type, ואשכולות לא רשומים מופיעים כ-External.
דרישות
- אפשר לרשום רק אשכולות של משתמשים ואדמינים באמצעות GKE On-Prem API. אי אפשר לרשום אשכולות היברידיים ואשכולות עצמאיים.
- גרסה 1.13 ומעלה.
אין תמיכה ברישום של אשכולות משתמשים שנוצרו במרחבי שמות בהתאמה אישית. קובץ התצורה שנוצר לאשכול המשתמש משתמש במרחב השמות של אשכול ברירת המחדל של הטופס
cluster-CLUSTER_NAME. אם תשנו את מרחב השמות כשתצרו את האשכול, ניסיונות לרשום את האשכול באמצעות GKE On-Prem API ייחסמו.אם אתם לא Project Owner, אתם צריכים לקבל לפחות את התפקיד
roles/gkeonprem.adminבניהול הזהויות והרשאות הגישה (IAM) בפרויקט. במאמר תפקידים ב-GKE on-prem שבמסמכי התיעוד של IAM מפורטות ההרשאות שכלולות בתפקיד הזה.
לפני שמתחילים
אם צריך, מגדירים את ה-CLI של gcloud.
אם אתם צריכים להתקין את ה-CLI של gcloud, תוכלו להיעזר במסמכי התיעוד של ה-CLI של gcloud. מעדכנים את הרכיבים של ה-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 bare-metal clusters query-version-config \ --project=PROJECT_ID \ --location=REGIONמחליפים את
REGIONב-us-west1או באזור נתמך אחר.
אם הארגון שלכם הגדיר רשימת היתרים שמאפשרת לתנועה מ-Google APIs ומכתובות אחרות לעבור דרך שרת ה-proxy, הוסיפו את הכתובות הבאות לרשימת ההיתרים:
gkeonprem.googleapis.comgkeonprem.mtls.googleapis.com
אלה שמות השירותים של GKE On-Prem API.
רישום אשכול משתמשים
CLI של gcloud
מציגים את החברויות ב-Fleet של האשכולות הרשומים:
gcloud container fleet memberships list \ --project=PROJECT_IDמחליפים את
PROJECT_IDבמזהה הפרויקט המארח של ה-fleet.שימו לב לאזור שבו נמצא אשכול האדמין שמנהל את אשכול המשתמש, כי תצטרכו אותו בשלב הבא.
רושמים את האשכול ב-GKE On-Prem API:
gcloud container bare-metal clusters enroll USER_CLUSTER_NAME \ --project=PROJECT_ID \ --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_NAME,MEMBERSHIP_REGIONו-PROJECT_IDיוצרים את שם האשכול שצוין במלואו לדגל--admin-cluster-membership.
REGION: האזור Google Cloud שבו ה-GKE On-Prem API פועל ומאחסן את המטא-נתונים של האשכול. צריך לציין אתus-west1או אזור נתמך אחר. אי אפשר לשנות את האזור אחרי שרושמים את האשכול.
bmctl
מבצעים את השלבים הבאים בתחנת העבודה של האדמין.
מוסיפים את הקטע הבא לקובץ ההגדרות של אשכול המשתמש:
gkeOnPremAPI: enabled: true location: REGIONמחליפים את
REGIONבאזור Google Cloud שבו GKE On-Prem API פועל ומאחסן את המטא-נתונים של האשכול. מציינים אתus-west1או אזור נתמך אחר. אי אפשר לשנות את האזור אחרי שרושמים את האשכול.מעדכנים את האשכול:
bmctl update cluster -c USER_CLUSTER_NAME \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
מחליפים את מה שכתוב בשדות הבאים:
USER_CLUSTER_NAME: השם של אשכול המשתמש שרוצים לעדכן.
ADMIN_CLUSTER_KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול האדמין.
רישום של אשכול אדמין
CLI של gcloud
מציגים את החברויות ב-Fleet של האשכולות הרשומים:
gcloud container fleet memberships list \ --project=PROJECT_IDמחליפים את
PROJECT_IDבמזהה הפרויקט המארח של ה-fleet.שימו לב לאזור שבו נמצא אשכול האדמין, כי תצטרכו אותו בשלב הבא.
רושמים את אשכול האדמין ב-GKE On-Prem API:
gcloud container bare-metal 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_NAME,MEMBERSHIP_REGIONו-PROJECT_IDיוצרים את השם המלא של האשכול לדגל--admin-cluster-membership.
REGION: האזור Google Cloud שבו ה-API של GKE On-Prem פועל ומאחסן את המטא-נתונים של האשכול. צריך לציין אתus-west1או אזור נתמך אחר. אי אפשר לשנות את האזור אחרי שרושמים את האשכול.
bmctl
מבצעים את השלבים הבאים בתחנת העבודה של האדמין.
מוסיפים את הקטע הבא לקובץ התצורה של אשכול האדמין:
gkeOnPremAPI: enabled: true location: REGIONמחליפים את
REGIONבאזור Google Cloud שבו GKE On-Prem API פועל ומאחסן את המטא-נתונים של האשכול. מציינים אתus-west1או אזור נתמך אחר. אי אפשר לשנות את האזור אחרי שרושמים את האשכול.מעדכנים את האשכול:
bmctl update cluster -c ADMIN_CLUSTER_NAME \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
מחליפים את מה שכתוב בשדות הבאים:
ADMIN_CLUSTER_NAME: השם של אשכול האדמין שרוצים לעדכן.
ADMIN_CLUSTER_KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול האדמין.
הצגת אשכולות רשומים
כל האשכולות ב-fleet מוצגים בדפים GKE Clusters במסוף. כך תוכלו לקבל סקירה כללית של כל המכשירים בארגון, וב-Google Distributed Cloud תוכלו לראות אילו אשכולות מנוהלים על ידי GKE On-Prem API.
כדי לראות את האשכולות בצי:
-
במסוף, נכנסים לדף GKE clusters.
כניסה לאשכולות GKE -
בוחרים את הפרויקט Google Cloud .
- אם בעמודה Type מופיע הערך Bare metal, האשכול מנוהל על ידי GKE On-Prem API.
- אם בעמודה Type מופיע הערך External, האשכול לא מנוהל על ידי GKE On-Prem API.
קבלת מידע על האשכול
אחרי שרושמים את האשכול, אפשר להשתמש בפקודות הבאות כדי לקבל מידע על האשכולות:
אשכול משתמשים
- כדי לתאר אשכול משתמשים:
gcloud container bare-metal clusters describe USER_CLUSTER_NAME \
--project=PROJECT_ID \
--location=REGION
- כדי להציג רשימה של אשכולות המשתמשים:
gcloud container bare-metal clusters list \
--project=PROJECT_ID \
--location=-
כשמגדירים את --location=-, המשמעות היא שכל האשכולות בכל האזורים יופיעו ברשימה. אם אתם צריכים לצמצם את הרשימה, הגדירו את --location לאזור שציינתם כששייכתם את האשכול.
אשכול אדמין
- כדי לתאר אשכול אדמין:
gcloud container bare-metal admin-clusters describe ADMIN_CLUSTER_NAME \
--project=PROJECT_ID \
--location=REGION
- כדי להציג את רשימת אשכולות הניהול:
gcloud container bare-metal admin-clusters list \
--project=PROJECT_ID \
--location=-
כשמגדירים את --location=-, כל האשכולות בכל האזורים מופיעים ברשימה. אם אתם צריכים לצמצם את הרשימה, הגדירו את --location לאזור שציינתם כששייכתם את האשכול.
התחברות לאשכול
אחרי שרושמים את האשכול ב-GKE On-Prem API, צריך לבחור שיטת אימות ולהגדיר אותה כדי לנהל את האשכול ממסוף Google Cloud . שיטת האימות שתבחרו גם קובעת את הגישה לאשכול משורת הפקודה. למידע נוסף, קראו את המאמרים הבאים: