שדרוג של אדמין או של אשכול משתמשים באמצעות לקוחות GKE On-Prem API

בדף הזה מוסבר איך משדרגים אשכול אדמין או אשכול משתמשים ב-Google Distributed Cloud שרשום ב-GKE On-Prem API באמצעות מסוף Google Cloud או Google Cloud CLI. אם יצרתם את אשכול המשתמשים באמצעות Terraform, תוכלו להשתמש ב-Terraform כדי לשדרג את אשכול המשתמשים. לפני שממשיכים, מומלץ לעיין במאמרים שיטות מומלצות לשדרוג ומחזור החיים ושלבי השדרוג של אשכולות כדי לקבל מידע נוסף על תהליך השדרוג ועל הדרישות לשדרוג. Google Cloud

מה זה GKE On-Prem API?

‫GKE On-Prem API הוא API שמתארח ב-Google Cloud ומאפשר לכם לנהל את מחזור החיים של אשכולות מקומיים באמצעות Terraform וGoogle Cloud כלים סטנדרטיים. ‫GKE On-Prem API פועל בתשתית של Google Cloud. ‫Terraform,‏ Google Cloud console ו-Google Cloud CLI הם לקוחות של ה-API, והם משתמשים ב-API כדי ליצור, לעדכן, לשדרג ולמחוק אשכולות במרכז הנתונים שלכם. אם יצרתם את האשכול באמצעות לקוח רגיל, האשכול נרשם ל-GKE On-Prem API, מה שאומר שאתם יכולים להשתמש בלקוחות הרגילים כדי לנהל את מחזור החיים של האשכול (עם כמה חריגים). אם יצרתם את האשכול באמצעות bmctl, אתם יכולים לרשום את האשכול ב-GKE On-Prem API, וכך תוכלו להשתמש בלקוחות הרגילים.

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

הגדרת ה-CLI של gcloud

כדי לשדרג אשכול באמצעות ה-CLI של gcloud או Terraform:

  1. מוודאים שמותקנת במחשב הגרסה העדכנית של ה-CLI של gcloud. אם צריך, מעדכנים את הרכיבים של ה-CLI של gcloud:

    gcloud components update
    

דרישות IAM

אם אתם לא בעלי הפרויקט, צריך להקצות לכם את התפקיד roles/gkeonprem.admin בממשק לניהול הזהויות והרשאות הגישה (IAM) בפרויקט שבו נוצר האשכול. Google Cloud במאמר תפקידים ב-GKE On-Prem שבמסמכי IAM מפורטות ההרשאות שכלולות בתפקיד הזה.

כדי להשתמש במסוף לשדרוג האשכול, אתם צריכים לפחות את הדברים הבאים:

  • roles/container.viewer. התפקיד הזה מאפשר למשתמשים לראות את הדף GKE Clusters ואת משאבי הקונטיינר האחרים במסוף. במאמר תפקידים ב-Kubernetes Engine במסמכי ה-IAM מפורטות ההרשאות שכלולות בתפקיד הזה, ומוסבר איך להעניק תפקיד עם הרשאות קריאה/כתיבה.

  • roles/gkehub.viewer. התפקיד הזה מאפשר למשתמשים להציג אשכולות במסוף. פרטים על ההרשאות שכלולות בתפקיד הזה או על הענקת תפקיד עם הרשאות קריאה/כתיבה זמינים במאמר תפקידים ב-GKE Hub במאמרי העזרה בנושא IAM.

דרישות לגבי גרסה

אחרי פרסום של Google Distributed Cloud, עוברים בערך 7 עד 14 ימים עד שהגרסה זמינה ב-GKE On-Prem API.

אפשר לשדרג ישירות לגרסה שנמצאת באותו מהדורת משנה או במהדורת המשנה הבאה. לדוגמה, אפשר לשדרג מגרסה 1.35.100 לגרסה 1.35.200, או מגרסה 1.34.100 לגרסה 1.35.200. אי אפשר לשדרג לגרסה שמהדורת המשנה שלה גבוהה ביותר ממהדורת משנה אחת מהגרסה המותקנת.

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

שדרוג אשכול אדמין

המסוף

  1. במסוף, נכנסים לדף Google Kubernetes Engine clusters overview.

    מעבר לאשכולות GKE

  2. בוחרים את Google Cloud הפרויקט, ואז בוחרים את האשכול שרוצים לשדרג.

  3. בחלונית פרטים, לוחצים על פרטים נוספים.

  4. בקטע Cluster basics, לוחצים על Upgrade.

  5. ברשימה Choose target version, בוחרים את הגרסה שאליה רוצים לשדרג. מומלץ לשדרג לגרסה האחרונה עם התיקון.

  6. לוחצים על שדרוג.

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

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

‫CLI של gcloud

  1. אפשר גם לפרט את כל אשכולות האדמין שרשומים בפרויקט כדי לוודא את שם האשכול והאזור:

    gcloud container bare-metal admin-clusters list \
      --project=PROJECT_ID \
      --location=-
    
    • מחליפים את PROJECT_ID במזהה של פרויקט המארח של ה-Fleet שבו האשכול הוא חבר. אם יצרתם את האשכול באמצעות bmctl, זהו מזהה הפרויקט בשדה gkeConnect.projectID בקובץ ההגדרות של האשכול.

    • כשמגדירים את --location=-, המשמעות היא שרוצים להציג את כל האשכולות בכל האזורים. אם רוצים לצמצם את הרשימה, צריך להגדיר את --location לאזור ספציפי.

    אם מופיעה השגיאה PERMISSION_DENIED, צריך לבדוק שוב את מזהה הפרויקט שהזנתם. אם מזהה הפרויקט נכון, מריצים את הפקודה gcloud auth login כדי להיכנס ל-Google Cloud CLI באמצעות החשבון שיש לו גישה לפרויקט.

  2. כדי לקבל רשימה של גרסאות שאפשר לשדרג אליהן:

    gcloud container bare-metal admin-clusters query-version-config \
      --admin-cluster=ADMIN_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION
    

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

    • ADMIN_CLUSTER_NAME: השם של אשכול האדמין.

    • PROJECT_ID: המזהה של הפרויקט המארח של ה-Fleet שבו האשכול הוא חבר.

    • REGION: האזור שבו פועל GKE On-Prem API ושבו מאוחסנים המטא-נתונים של האשכול. Google Cloud

  3. משדרגים את אשכול האדמין:

    gcloud container bare-metal admin-clusters update ADMIN_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --version=VERSION
    

    מחליפים את VERSION בגרסה של Google Distributed Cloud שרוצים לשדרג אליה. מציינים גרסה מהפלט של הפקודה הקודמת. מומלץ לשדרג לגרסה האחרונה עם התיקון.

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

    Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
    

    בפלט לדוגמה, המחרוזת operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179 היא OPERATION_ID של הפעולה ארוכת הטווח.

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

    gcloud container bare-metal operations describe OPERATION_ID \
      --project=PROJECT_ID \
      --location=REGION
    

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

בסיום השדרוג, בחלון המסוף שבו הפעלתם את הפקודה gcloud ... update, יופיע משהו דומה לזה:

Updated Anthos on bare metal Admin Cluster [https://gkeonprem.googleapis.com/v1/projects/example-project-1234/locations/us-central1/bareMetalAdminClusters/abm-admin-cluster].
NAME               LOCATION     VERSION     MEMBERSHIP         STATE
abm-admin-cluster  us-central1  1.35.100      abm-admin-cluster  RUNNING

למידע נוסף על השדות והדגלים, ראו gcloud container bare-metal admin-clusters reference.

שדרוג אשכול משתמשים

המסוף

  1. במסוף, נכנסים לדף Google Kubernetes Engine clusters overview.

    מעבר לאשכולות GKE

  2. בוחרים את Google Cloud הפרויקט, ואז בוחרים את האשכול שרוצים לשדרג.

  3. בחלונית פרטים, לוחצים על פרטים נוספים.

  4. בקטע Cluster basics, לוחצים על Upgrade.

  5. ברשימה Choose target version, בוחרים את הגרסה שאליה רוצים לשדרג.

  6. לוחצים על שדרוג.

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

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

‫CLI של gcloud

  1. אפשר גם להציג רשימה של כל אשכולות המשתמשים הרשומים בפרויקט כדי לאשר את שם האשכול והאזור:

    gcloud container bare-metal clusters list \
      --project=PROJECT_ID \
      --location=-
    
    • מחליפים את PROJECT_ID במזהה של פרויקט המארח של ה-Fleet שבו האשכול הוא חבר. אם יצרתם את האשכול באמצעות bmctl, זהו מזהה הפרויקט בשדה gkeConnect.projectID בקובץ ההגדרות של האשכול.

    • כשמגדירים את --location=-, המשמעות היא שרוצים להציג את כל האשכולות בכל האזורים. אם רוצים לצמצם את הרשימה, צריך להגדיר את --location לאזור ספציפי.

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

    NAME              LOCATION     VERSION  ADMIN_CLUSTER      STATE
    abm-user-cluster  us-central1  1.35.100   abm-admin-cluster  RUNNING
    

    אם מופיעה השגיאה PERMISSION_DENIED, צריך לבדוק שוב את מזהה הפרויקט שהזנתם. אם מזהה הפרויקט נכון, מריצים את הפקודה gcloud auth login כדי להיכנס ל-Google Cloud CLI באמצעות החשבון שיש לו גישה לפרויקט.

  2. כדי לקבל רשימה של גרסאות שאפשר לשדרג אליהן:

    gcloud container bare-metal clusters query-version-config \
      --cluster=USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION
    

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

    • USER_CLUSTER_NAME: השם של אשכול המשתמשים שרוצים לשדרג.

    • PROJECT_ID: המזהה של הפרויקט המארח של ה-Fleet שבו האשכול הוא חבר.

    • REGION: האזור שבו פועל GKE On-Prem API ושבו מאוחסנים המטא-נתונים של האשכול. Google Cloud

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

    versions:
    - hasDependencies: true
    version: 1.15.2
    - hasDependencies: true
    version: 1.15.1
    - hasDependencies: true
    version: 1.15.0
    - version: 1.14.6
    

    בוחרים גרסה שלא מופיעה בקטע - hasDependencies: true. בדוגמה הזו, הגרסה היחידה שזמינה לשדרוג אשכול המשתמשים היא 1.14.6.

  3. משדרגים את אשכול המשתמשים:

    gcloud container bare-metal clusters update USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --version=VERSION
    

    מחליפים את VERSION בגרסה של Google Distributed Cloud שרוצים לשדרג אליה. מציינים גרסה מהפלט של הפקודה הקודמת. מומלץ לשדרג לגרסה האחרונה עם התיקון.

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

    Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
    

    בפלט לדוגמה, המחרוזת operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179 היא OPERATION_ID של הפעולה ארוכת הטווח.

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

    gcloud container bare-metal operations describe OPERATION_ID \
      --project=PROJECT_ID \
      --location=REGION
    

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

למידע נוסף על השדות והדגלים, ראו gcloud container bare-metal clusters reference.

Terraform

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

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

  2. כדי לקבל רשימה של גרסאות שאפשר לשדרג אליהן:

    gcloud container bare-metal clusters query-version-config \
      --cluster=USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION
    

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

    • USER_CLUSTER_NAME: השם של אשכול המשתמשים שרוצים לשדרג.

    • PROJECT_ID: המזהה של פרויקט המארח של ה-Fleet שבו אשכול המשתמש הוא חבר.

    • REGION: האזור שבו פועל GKE On-Prem API ושבו מאוחסנים המטא-נתונים שלו. Google Cloud

    אם מופיעה השגיאה PERMISSION_DENIED, צריך לבדוק שוב את מזהה הפרויקט שהזנתם. אם מזהה הפרויקט נכון, מריצים את הפקודה gcloud auth login כדי להיכנס ל-Google Cloud CLI באמצעות החשבון שיש לו גישה לפרויקט.

  3. בהגדרות של Terraform, משנים את bare_metal_version לגרסה של Google Distributed Cloud שרוצים לשדרג אליה. מציינים גרסה מהפלט של הפקודה הקודמת. מומלץ לשדרג לגרסה האחרונה עם התיקון.

  4. מפעילים את Terraform ויוצרים תוכנית ב-Terraform:

    terraform init
    

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

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

    terraform plan
    
  6. מחילים את התוכנית של Terraform כדי ליצור את אשכול המשתמשים:

    terraform apply
    

מידע על המשאב google_gkeonprem_bare_metal_cluster מופיע במאמרי העזרה.