העברה של אשכול EKS מצורף

הגרסה הקודמת של GKE Attached Clusters נקראת GKE Attached Clusters (דור קודם). מעבר מהגרסה הקודמת של אשכולות GKE מצורפים לדור הנוכחי מאפשר לכם גישה לפונקציונליות הזו, כולל ניהול מחזור החיים ורישום Fleet. ההעברה היא פעולה חד-כיוונית: אחרי שתעברו לדור הנוכחי של אשכולות GKE מצורפים, לא תהיה אפשרות לחזור לאשכולות GKE מצורפים (דור קודם).

מדיניות מספור הגרסאות

במסמכים האלה, הגרסה של אשכולות מצורפים ב-GKE נקראת גרסת הפלטפורמה, כדי להבדיל אותה מגרסת Kubernetes. באשכולות GKE מצורפים משתמשים באותה שיטה למספור גרסאות כמו ב-GKE – לדוגמה, 1.21.5-gke.1. כשמצרפים או מעדכנים את האשכול, צריך לבחור גרסת פלטפורמה שגרסת המשנה שלה זהה לגרסת Kubernetes של האשכול או נמוכה ממנה ברמה אחת. לדוגמה, אתם יכולים לצרף אשכול שמריץ Kubernetes בגרסה ‎1.22.* ‎ עם פלטפורמת אשכולות מצורפים של GKE בגרסה ‎1.21.* ‎ או ‎1.22.*‎.

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

מוודאים ש-Workload Identity מופעל

באשכולות קיימים מ-GKE attached clusters (דור קודם), צריך להפעיל את Workload Identity לפני שמבצעים העברה לדור הנוכחי של GKE attached clusters.

כדי לבדוק אם WI מופעל, מריצים את הפקודה הבאה ומחפשים בשדה הפלט Workload Identity:

gcloud container hub memberships describe MEMBERSHIP_NAME

אם Workload Identity לא מופעל, צריך לעדכן את החברות כדי להפעיל אותו.

  1. מאחזרים את כתובת ה-URL של מנפיק OIDC של האשכול באמצעות הפקודה הבאה:

    aws eks describe-cluster \
    --region AWS_REGION \
    --name CLUSTER_NAME \
    --query "cluster.identity.oidc.issuer" \
    --output text

    הפלט של הפקודה הזו יהיה כתובת ה-URL של מנפיק OIDC. שומרים את הערך הזה לשימוש מאוחר יותר.

  2. מעדכנים את המינוי:

    gcloud container fleet memberships register MEMBERSHIP_NAME \
    --context=KUBECONFIG_CONTEXT \
    --kubeconfig=KUBECONFIG_PATH \
    --enable-workload-identity \
    --public-issuer-url=OIDC_URL

    מחליפים את:

    • MEMBERSHIP_NAME: שם החברות באשכול
    • KUBECONFIG_CONTEXT: ההקשר בקובץ kubeconfig לגישה לאשכול EKS
    • KUBECONFIG_PATH: הנתיב לקובץ kubeconfig
    • OIDC_URL: כתובת ה-URL של OIDC שאוחזרה קודם

העברת האשכול

כדי להעביר את האשכול מ-GKE Attached Clusters (דור קודם) ל-GKE Attached Clusters:

  1. מחלקים את ההקשר של kubeconfig באשכול ומאחסנים אותו במשתנה הסביבה KUBECONFIG_CONTEXT:

    KUBECONFIG_CONTEXT=$(kubectl config current-context)
    
  2. מריצים את הפקודה הבאה כדי להעביר את האשכול לדור הנוכחי של אשכולות GKE מצורפים. הפקודה הזו מחלצת את הפרטים הרלוונטיים של ההגדרה של האשכול, רושמת את האשכול ב-Google Fleet Management ומתקינה או משדרגת תוכנות נדרשות, כמו סוכן מחזור החיים, באשכול.

    gcloud container attached clusters import \
      --location=GOOGLE_CLOUD_REGION \
      --fleet-membership=FLEET_MEMBERSHIP \
      --platform-version=PLATFORM_VERSION \
      --distribution=CLUSTER_DISTRIBUTION \
      --context=KUBECONFIG_CONTEXT \
      [--kubeconfig=KUBECONFIG_PATH]
    

    מחליפים את:

    • GOOGLE_CLOUD_REGION: Google Cloud המיקום שממנו מתבצע הניהול של האשכול
    • FLEET_MEMBERSHIP: המזהה המוגדר במלואו של החברות באשכול הרשום (ראו בהמשך)
    • PLATFORM_VERSION: הגרסה של GKE Attached Clusters שאליה רוצים לבצע מיגרציה (לדוגמה: v1.22.0-gke.1)
    • CLUSTER_DISTRIBUTION: סוג האשכול – eks ל-Elastic Kubernetes Service של AWS,‏ aks ל-Azure Kubernetes Service או generic לכל הפצה אחרת
    • KUBECONFIG_CONTEXT: השם של ההקשר ב-kubeconfig שלכם להתחברות לאשכול
    • KUBECONFIG_PATH: המיקום של קובץ kubeconfig. אם לא מציינים ערך, ברירת המחדל היא ~/.kube/config

    מזהה החברות הוא מחרוזת שמזהה באופן ייחודי את האשכול המצורף, והפורמט שלו הוא projects/PROJECT_NUMBER/locations/global/memberships/MEMBERSHIP_ID, כאשר

    • PROJECT_NUMBER הוא מספר פרויקט המארח של ה-Fleet. צריך לציין את אותו מספר פרויקט שהאשכול שייך לו כרגע

    • MEMBERSHIP_ID: המזהה הזה חייב להיות מזהה החברות ב-Fleet של האשכול הקיים. באשכולות GKE מצורפים, הערך הזה ישמש כשם האשכול.