הגדרת צוותים לצי הרכבים

הדף הזה מיועד לאדמינים של פלטפורמות שרוצים להגדיר ולנהל את השימוש ב-Fleet עבור צוות.

לפני שקוראים את הדף הזה, חשוב לוודא שמכירים את ניהול צוותי צי.

סקירה כללית על הגדרת צוות

אפשר להגדיר צוותים באמצעות Google Cloud CLI, ‏ Google Cloud המסוף או Terraform.

התהליך הכללי להגדרת צוות הוא כזה:

  1. בוחרים או יוצרים את Fleet שרוצים להגדיר בו גישה לצוות, ומוודאים שיש לכם את ההרשאות וה-API הנכונים להשלמת ההגדרה.
  2. (אופציונלי, אבל מומלץ) מגדירים ב-Google Groups בקרת גישה לאשכולות של צי המכונות.
  3. קובעים מי יהיו המשתמשים בצוות. צוות יכול לכלול קבוצות Google (מומלץ) ו/או חשבונות נפרדים.
  4. בוחרים את רמת הגישה למשאבים של הצי ולמשאבים של הצוות שרוצים להעניק לכל אחד מחברי הצוות.
  5. יוצרים היקף צוות לצוות.
  6. מוסיפים אחד או יותר (או את כל) האשכולות של חברי ה-Fleet להיקף הצוות.
  7. הגדרת מרחבי שמות ברמת הצי ושיוכם שלהם להיקף הצוות.
  8. (אופציונלי) משתמשים בסנכרון תצורות כדי לסנכרן משאבי Kubernetes עם היקפים ומרחבי שמות של צוותים.

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

הגדרת Google Cloud CLI

גם אם יוצרים היקפי צוות באמצעות Google Cloud המסוף, יכול להיות שעדיין צריך להגדיר את ה-CLI של gcloud כדי להשלים כמה דרישות מוקדמות במהלך הגדרת Fleet, כמו הפעלת ממשקי API נדרשים.

  1. מוודאים שיש לכם את הגרסה האחרונה של Google Cloud CLI, כולל רכיב האלפא של Google Cloud CLI. כדי להשתמש בפקודות לניהול צוותי נהגים, צריך לפחות גרסה 419.0.0.

  2. מריצים את הפקודה הבאה כדי להתחבר אל Google Cloud:

    gcloud auth login
    
  3. מאותחלים את ה-CLI של gcloud לשימוש בפרויקט המארח של צי המכונות שבחרתם, או מריצים את הפקודה הבאה כדי להגדיר את פרויקט המארח של צי המכונות כברירת מחדל:

    gcloud config set project PROJECT_ID
    

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

הגדרת המאגר

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

אם רוצים ליצור צי חדש עם שם בפרויקט שעדיין לא הוגדר בו צי, מריצים את הפקודה הבאה (קודם צריך להגדיר את Google Cloud CLI):

  gcloud container fleet create \
    --display-name=NAME \
    --project=FLEET_HOST_PROJECT_ID

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

התפקידים שצריך ב-IAM

אם אין לכם roles/owner בפרויקט המארח של Fleet, אתם צריכים roles/gkehub.admin כדי ליצור ולהגדיר היקפי צוות ומרחבי שמות. בעלי הפרויקט יכולים להקצות את התפקיד הזה באמצעות הפקודה הבאה:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member user:USER_EMAIL_ADDRESS \
    --role='roles/gkehub.admin'

הפעלת ממשקי ה-API

מוודאים שכל ממשקי ה-API הנדרשים מופעלים בפרויקט המארח של Fleet, כולל GKE API:

gcloud services enable --project=PROJECT_ID \
   gkehub.googleapis.com \
   container.googleapis.com \
   connectgateway.googleapis.com \
   cloudresourcemanager.googleapis.com \
   iam.googleapis.com \
   container.googleapis.com

אם תשביתו את GKE API אחרי שתגדירו ניהול של צוותים ב-Fleet, חלק מהתכונות ימשיכו לפעול, אבל לא תהיה אפשרות לעדכן או ליצור היקפי צוותים או מרחבי שמות ב-Fleet.

הגדרת אשכולות לבקרת גישה באמצעות קבוצות Google

אפשר להגדיר את הגישה של צוותים באמצעות RBAC לאשכולות של חברי צי בלי להגדיר אשכולות נוספים, אבל מומלץ לתת לחברי צוות גישה לאשכולות על סמך החברות שלהם בקבוצת Google של הצוות. הרשאה שמבוססת על חברות בקבוצה מאפשרת לכם לא להגדיר הרשאה נפרדת לכל חשבון, וכך לנהל את המדיניות בצורה פשוטה יותר ולבצע ביקורת בקלות. בנוסף, לא צריך להוסיף או להסיר משתמשים בנפרד מאשכולות כשהם מצטרפים לצוות או עוזבים אותו. כדי לוודא שהאשכולות שרוצים להקצות להיקפי צוות יכולים להשתמש בקבוצות Google עם Connect Gateway לצורך בקרת גישה, אפשר להיעזר במדריכים הבאים:

הגדרת צוות חדש

בהוראות הבאות מוסבר איך ליצור היקף חדש של צוות בשביל צוות.

בחירת הרשאות גישה לצוות

קודם כול, מחליטים מי המשתמשים שיהיו בצוות. חלק חשוב בהגדרת הצוות הוא הענקת גישה לחברי הצוות ל-Fleet, כולל היכולת לראות את האשכולות ב Google Cloud מסוף ולראות את היומנים בהיקף הצוות. בהתאם לתפקיד של חבר הצוות, יכול להיות שתרצו להעביר אליו את היכולת ליצור מרחבי שמות בהיקף הצוות שלו (אפשרות שזמינה ב-gkehub.ScopeAdmin או ב-gkehub.ScopeEditor), או לאפשר לו לעדכן את הקישורים של תפקידי RBAC (רק ב-gkehub.ScopeAdmin).

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

בטבלה הבאה מוצגות ההרשאות מכל סוג שמוענקות לכל דמות:

תיאור סוג פרסונה של אדמין עם היקף פרסונה של הכלי לעריכת היקף ההרשאות פרסונה של צופה בהיקף פרסונה של תפקיד בהתאמה אישית

גישה להיקף הצוות ולמרחבי השמות שלו.

קישור IAM בהיקף הצוות roles/gkehub.scopeAdmin roles/gkehub.scopeEditor roles/gkehub.scopeViewer roles/gkehub.scopeViewer

גישה לפרויקט המארח של הצי, כולל מדדים, פעולות ארוכות טווח ושער Connect.

קישור IAM בפרויקט המארח של ה-Fleet roles/gkehub.scopeEditorProjectLevel roles/gkehub.scopeEditorProjectLevel roles/gkehub.scopeViewerProjectLevel roles/gkehub.scopeEditorProjectLevel

גישה לקטגוריית היומן בהיקף הצוות.

קשירת IAM בפרויקט המארח של ה-Fleet (עם תנאי שלפיו המשאב שאליו ניגשים הוא שם הקטגוריה). roles/logging.viewAccessor roles/logging.viewAccessor roles/logging.viewAccessor roles/logging.viewAccessor

גישה למשאבי Kubernetes באשכולות של ההיקף.

הקשר RBAC בהיקף שחל על מרחבי השמות של היקף הצוות. תפקיד ברירת המחדל ב-Kubernetes: אדמין תפקיד ברירת המחדל של Kubernetes: עריכה תפקיד ברירת המחדל ב-Kubernetes: view User-defined ClusterRole

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

אם הפרופילים האלה לא מתאימים לצרכים שלכם, אתם יכולים גם לקשר בנפרד תפקידים ב-IAM (באמצעות gcloud container fleet scopes add-iam-policy-binding) ו-RBAC (באמצעות gcloud container fleet scopes rbacrolebindings create). במסמכי העזר של Google Cloud CLI מופיעות עוד פקודות שאפשר להשתמש בהן כדי לנהל את הקישורים האלה.

הגדרת היקף צוות

gcloud

יצירת היקף צוות

כדי ליצור היקף חדש של צוות ב-Fleet, מריצים את הפקודה הבאה, כאשר SCOPE_NAME הוא השם הייחודי שבחרתם להיקף החדש:

gcloud container fleet scopes create SCOPE_NAME

הוספת אשכולות להיקף של צוות

אפשר להוסיף להיקפי צוות רק חברים קיימים בצי. ההוראות האלה מניחות שהאשכול שרוצים להוסיף להיקף כבר שייך ל-Fleet. אם אתם צריכים להוסיף את האשכול ל-Fleet, אתם יכולים להיעזר בהוראות שמתאימות לסוג האשכול במאמר יצירת Fleet כדי לרשום את האשכול. מוודאים שהאשכול החדש שרשמתם מוגדר לשימוש בקבוצות Google לצורך בקרת גישה, כמו שמתואר למעלה.

אפשר להוסיף אשכול שהוא חבר ב-Fleet לכל מספר של היקפי צוות בפרויקט המארח של ה-Fleet.

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

gcloud container fleet memberships bindings create BINDING_NAME \
  --membership MEMBERSHIP_NAME \
  --scope  SCOPE_NAME \
  --location MEMBERSHIP_LOCATION

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

  • BINDING_NAME: שם שמייצג את הקשר בין האשכול לבין היקף הצוות. מומלץ להשתמש ב- MEMBERSHIP_NAME-SCOPE_NAME.
  • MEMBERSHIP_NAME: המזהה הייחודי של האשכול ב-Fleet (בדרך כלל שם האשכול).
  • ‫(optional) MEMBERSHIP_LOCATION: מיקום החברות באשכול. אם לא מציינים את הערך הזה, ערך ברירת המחדל הוא global, שהוא ערך ברירת המחדל לרישום אשכולות.

יצירת מרחבי שמות של צי

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

gcloud container fleet scopes namespaces create NAMESPACE_NAME --scope=SCOPE_NAME

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

הפקודה הזו יוצרת מרחב שמות של Kubernetes בשם NAMESPACE_NAME בכל אשכול בהיקף הצוות. חברי הצוות יכולים להשתמש ב-NAMESPACE_NAME כמו בכל מרחב שמות אחר של Kubernetes אחרי שנותנים להם גישה להיקף שלהם. אם כבר יש לכם מרחב שמות קיים של Kubernetes בשם NAMESPACE_NAME בהיקף של הצוות, הוא נחשב לחלק ממרחב השמות החדש של הצי. הפעולה הזו נקראת לפעמים הוספה של מרחב השמות.

איך נותנים לחברי הצוות גישה להיקף הצוות

שימוש בתפקידים מוגדרים מראש

בשלב הבא, מוודאים שלקבוצות Google הרלוונטיות מוגדרות הרשאות IAM ו-RBAC מתאימות כדי לעבוד עם ההיקף החדש:

gcloud beta container fleet scopes add-app-operator-binding SCOPE_ID
        --role=ROLE --group=TEAM_EMAIL --project PROJECT_ID
  • PROJECT_ID הוא המזהה של פרויקט המארח של ה-Fleet.
  • TEAM_EMAIL היא כתובת האימייל של קבוצה ב-Google של צוות.
  • SCOPE_ID הוא המזהה של ההיקף שנוצר
  • ROLE היא הפרסונה של ההרשאה שיש לקבוצה בהיקף הצוות. הערכים של הפרמטר הזה יכולים להיות admin (היקף אדמין), edit (היקף עריכה) או view (היקף צפייה).

אם אתם צריכים להעניק גישה להיקף למשתמש ספציפי, מריצים את הפקודה הבאה, כש-USER_EMAIL היא כתובת האימייל של מזהה Google של המשתמש:

gcloud beta container fleet scopes add-app-operator-binding SCOPE_ID
        --role=ROLE --user=USER_EMAIL --project PROJECT_ID

שימוש בתפקידים בהתאמה אישית

כדי להשתמש בתפקיד בהתאמה אישית, צריך קודם להוסיף את התפקיד בהתאמה אישית לתכונת ה-Fleet rbacrolebindingactuation:

gcloud container fleet rbacrolebindingactuation update --allowed-custom-roles CUSTOM_ROLE --project PROJECT_ID

בשלב הבא, מוודאים שלקבוצות Google הרלוונטיות מוגדרות הרשאות IAM ו-RBAC מתאימות כדי לעבוד עם ההיקף החדש:

gcloud beta container fleet scopes add-app-operator-binding SCOPE_ID
        --custom-role=CUSTOM_ROLE --group=TEAM_EMAIL --project PROJECT_ID

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

  • PROJECT_ID: המזהה של פרויקט המארח של ה-Fleet.
  • TEAM_EMAIL: כתובת האימייל של קבוצה ב-Google של צוות.
  • SCOPE_ID : המזהה של היקף ההרשאות שנוצר.
  • CUSTOM_ROLE: Kubernetes ClusterRole שהתווסף לרשימת ההיתרים בתכונה rbacrolebindingactuation. כדי שהתכונה תפעל כמצופה, ה-ClusterRole צריך להתקיים בכל אשכול שנוסף להיקף. עם זאת, המשאבים עדיין נוצרים גם אם ClusterRole לא קיים.

אם אתם צריכים להעניק גישה להיקף למשתמש ספציפי, מריצים את הפקודה הבאה, כש-USER_EMAIL היא כתובת האימייל של מזהה Google של המשתמש:

gcloud beta container fleet scopes add-app-operator-binding SCOPE_ID
        --custom-role=CUSTOM_ROLE --user=USER_EMAIL --project PROJECT_ID

המסוף

יצירת היקף צוות

  1. אחרי שבוחרים את פרויקט המארח של צי הרכבים, עוברים לקטע Teams במסוף Google Cloud .

    מעבר אל Teams

  2. בראש הדף, לוחצים על יצירת היקף צוות.

  3. בדף Team Basics (פרטים בסיסיים על הצוות), בשדה Name (שם), מזינים שם ייחודי להיקף הצוות. לא תהיה אפשרות לשנות את השם הזה אחרי שיוצרים את ההיקף של הצוות.

  4. כדי להוסיף חברים לצוות להיקף, לוחצים על הוספת חבר לצוות.

    • בקטע סוג, בוחרים באפשרות משתמש כדי להוסיף חבר צוות בודד, או באפשרות קבוצה כדי להוסיף קבוצה ב-Google (מומלץ).
    • בקטע משתמש או קבוצה, מקלידים את כתובת האימייל של חבר הצוות או של הקבוצה.
    • בשדה תפקיד, בוחרים באפשרות אדמין של היקף, עורך של היקף או צופה בהיקף, שקובעות כמה קישורי IAM ו-RBAC בהיקף וב-Fleet, כמו שמתואר במאמר בחירת הרשאות גישה לצוות.
  5. כדי ליצור את היקף הצוות בלי להוסיף אשכולות ומרחבי שמות בשלב הזה, לוחצים על יצירת היקף צוות. אחרת, ממשיכים לקטע הבא כדי להוסיף אשכולות להיקף.

הוספת אשכולות להיקף הצוות

כדי לשייך אשכול להיקף צוות, האשכול צריך להיות חבר קיים ב-Fleet. אם אתם צריכים להוסיף את האשכול ל-Fleet, אתם יכולים להיעזר בהוראות שמתאימות לסוג האשכול במאמר יצירת Fleet כדי לרשום את האשכול. מוודאים שהאשכול החדש שרשמתם מוגדר לשימוש בקבוצות Google לצורך בקרת גישה, כמו שמתואר למעלה.

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

  1. בדף Team Basics (הגדרות בסיסיות של הצוות), אחרי שמוסיפים את חברי הצוות להיקף, לוחצים על Continue (המשך).
  2. בדף Clusters, אפשר לבחור את קלאסטרים של הצי לשימוש בצוות הזה. בתפריט הנפתח Clusters (אשכולות), מסמנים את האשכולות שרוצים להוסיף ולוחצים על OK (אישור).

יצירת מרחבי שמות של צי

חברי הצוות יכולים להשתמש במרחבי שמות של צי כמו בכל מרחב שמות אחר של Kubernetes. כשיוצרים מרחב שמות של צי, נוצר מרחב שמות תואם של Kubernetes בכל האשכולות בהיקף הצוות, אם הוא עדיין לא קיים.

  1. בדף Clusters (אשכולות), אחרי שמוסיפים אשכולות להיקף הצוות, לוחצים על Continue (המשך).
  2. בדף Namespaces (מרחבי שמות), לוחצים על Add Namespace (הוספת מרחב שמות).
  3. כדי להוסיף עוד מרחבי שמות של Fleet להיקף, חוזרים על השלב הקודם.
  4. כדי ליצור את היקף הצוות, לוחצים על יצירת היקף צוות. אחרי שיוצרים את ההיקף של הצוות, אפשר לראות ולערוך אותו לפי הצורך. לשם כך, לוחצים על השם שלו בקטע צוותים.

Terraform

בקטע הזה נסביר איך להגדיר צוות חדש באמצעות Terraform. מידע נוסף ודוגמאות נוספות זמינים במאמרי העזרה של המשאבים הבאים:

יצירת היקף צוות

כדי ליצור היקף צוות, אפשר להשתמש בבלוק הבא בהגדרות של Terraform.

  resource "google_gke_hub_scope" "TF_SCOPE_RESOURCE_NAME" {
    scope_id = "SCOPE_NAME"
  }

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

  • TF_SCOPE_RESOURCE_NAME: השם שבוחרים כדי לזהות באופן ייחודי את משאב Terraform google_gke_hub_scope שנוצר על ידי הבלוק הזה.
  • SCOPE_NAME: שם ייחודי לזיהוי של היקף הצוות.

הוספת אשכולות להיקף

אפשר להוסיף להיקפי צוות רק חברים קיימים בצי. אם אתם צריכים להוסיף את האשכול ל-Fleet, פעלו לפי ההוראות שמתאימות לסוג האשכול במאמר יצירת Fleet כדי לרשום את האשכול. מוודאים שהאשכול החדש שרשמתם מוגדר לשימוש בקבוצות Google לצורך בקרת גישה, כמו שמתואר למעלה.

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

  resource "google_gke_hub_membership_binding" "TF_MEMBERSHIP_BINDING_RESOURCE_NAME" {
    membership_binding_id = "BINDING_NAME"
    scope = SCOPE_NAME
    membership_id = MEMBERSHIP_NAME
    location = "MEMBERSHIP_LOCATION"
  }

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

  • TF_MEMBERSHIP_BINDING_RESOURCE_NAME: שם לזיהוי משאב google_gke_hub_membership_binding שנוצר על ידי הבלוק הזה.
  • BINDING_NAME: שם שמייצג את הקשר בין האשכול לבין ההיקף. מומלץ להשתמש ב- MEMBERSHIP_NAME-SCOPE_NAME.
  • SCOPE_NAME: השם של היקף הצוות.
  • MEMBERSHIP_NAME: המזהה הייחודי של האשכול ב-Fleet (בדרך כלל שם האשכול).
  • MEMBERSHIP_LOCATION: המיקום של החברות באשכול.

יצירת מרחבי שמות של צי

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

כדי ליצור מרחב שמות של Fleet, משתמשים בבלוק הבא בהגדרות:

  resource "google_gke_hub_namespace" "TF_NAMESPACE_RESOURCE_NAME" {
    scope_namespace_id = "NAMESPACE_NAME"
    scope_id = SCOPE_NAME
    scope = SCOPE_NAME
  }

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

  • TF_NAMESPACE_RESOURCE_NAME: שם לזיהוי משאב google_gke_hub_namespace שנוצר על ידי הבלוק הזה.
  • NAMESPACE_NAME: שם ייחודי שבחרתם למרחב השמות של ה-Fleet. מוודאים שהשם הזה לא מתנגש עם ההגבלות על שמות של מרחבי שמות של Fleet.
  • SCOPE_NAME: השם של היקף הצוות שבו נוצר מרחב השמות של ה-Fleet.

הענקת גישה להיקף

שימוש בתפקידים מוגדרים מראש

כמו שמתואר בסעיף הקודם, אפשר להעניק לחברי הצוות גישה להיקף שלהם באמצעות פרופילים של הרשאות שכוללים הרשאות IAM ו-RBAC. לדוגמה, הנה הגדרה למתן גישה למשתמש מסוים להיקף צוות:

module "TF_SCOPE_RESOURCE_NAME_USER_EMAIL" {
  source           = "terraform-google-modules/kubernetes-engine/google//modules/fleet-app-operator-binding"

  scope_id = "SCOPE_NAME"
  user = "USER_EMAIL"
  role = "ROLE"
}

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

  • TF_SCOPE_RESOURCE_NAME: שם ההיקף.
  • BINDING_NAME: שם שייצג את הקישור הזה.
  • SCOPE_NAME: השם של ההיקף של הצוות.
  • USER_EMAIL: כתובת האימייל של המשתמש.
  • ROLE: הפרסונה שרוצים להעניק למשתמש, שיכולה להיות ADMIN,‏ EDIT או VIEW.

כדי להעניק לקבוצת Google גישה להיקף צוות, משתמשים ב-group במקום ב-user בהגדרה הקודמת, ומשתמשים בכתובת האימייל של קבוצת Google של הצוות.

שימוש בתפקידים בהתאמה אישית

כדי להשתמש בתפקיד בהתאמה אישית, צריך קודם להוסיף את התפקיד בהתאמה אישית לתכונת ה-Fleet rbacrolebindingactuation:

resource "google_gke_hub_feature" "rbacrolebindingactuation" {
  name = "rbacrolebindingactuation"
  location = "global"
  spec {
    rbacrolebindingactuation {
      allowed_custom_roles = ["CUSTOM_ROLE"]
    }
  }
}

ההגדרה הבאה מעניקה למשתמשים בודדים גישת RBAC להיקף צוות:

resource "google_gke_hub_scope_rbac_role_binding" "BINDING_NAME" {
  scope_id = "SCOPE_NAME"
  user = "USER_EMAIL"
  role {
    custom_role = "CUSTOM_ROLE"
  }
  depends_on = [google_gke_hub_feature.rbacrolebindingactuation]
}

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

  • BINDING_NAME: שם שייצג את הקישור הזה.
  • SCOPE_NAME: השם של ההיקף של הצוות.
  • USER_EMAIL: כתובת האימייל של המשתמש.
  • CUSTOM_ROLE: Kubernetes ClusterRole שהתווסף לרשימת ההיתרים בתכונה rbacrolebindingactuation. כדי שהתכונה תפעל כמצופה, ה-ClusterRole צריך להתקיים בכל אשכול שנוסף להיקף. עם זאת, המשאבים עדיין נוצרים גם אם ClusterRole לא קיים.

נדרשות הרשאות נוספות ב-IAM ברמת הפרויקט וברמת ההיקף, ואפשר להוסיף אותן באמצעות הדוגמאות של Terraform לקישור אופרטורים.

גישה למרחבי שמות של Fleet

אחרי שההגדרה תושלם, חברי הצוות יוכלו לגשת למרחבי השמות בהיקף שלהם על ידי קבלת פרטי הכניסה הרלוונטיים לאשכול. כדי לקבל פרטי כניסה לאשכול שהוא חבר ב-Fleet באמצעות Connect Gateway, מריצים את הפקודה הבאה, כאשר MEMBERSHIP_NAME הוא השם של החברות ב-Fleet של האשכול:

   gcloud container fleet memberships get-credentials  MEMBERSHIP_NAME

פרטים נוספים מופיעים במאמר בנושא שימוש ב-Connect Gateway.

ניהול היקפי הצוות

משתמשים בפקודות הבאות כדי לנהל את ההיקפים של הצוות.

gcloud

הצגת היקפי הצוות

כדי להציג את כל ההיקפים ב-Fleet, מריצים את הפקודה הבאה:

gcloud container fleet scopes list

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

gcloud container fleet memberships bindings list --membership MEMBERSHIP_NAME

הסרת אשכולות מהיקפי צוות

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

gcloud container fleet memberships bindings delete BINDING_NAME --membership MEMBERSHIP_NAME

מחיקת היקף הרשאות של צוות

כדי למחוק היקף מה-Fleet, מריצים את הפקודה הבאה:

gcloud container fleet scopes delete SCOPE_NAME

המסוף

הצגת היקפי הצוות

כדי לראות את כל ההיקפים ב-Fleet, בוחרים את פרויקט המארח של ה-Fleet ועוברים לקטע Teams במסוף Google Cloud .

מעבר אל Teams

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

כדי לראות מדדי ניצול שקשורים לעלויות, לוחצים על Cost Optimization (אופטימיזציה של עלויות).

צפייה בפרטים של היקף הצוות

לכל היקף צוות אפשר לראות פרטים, כולל התוויות שמשויכות להיקף הזה, חברי הצוות והיומנים בהיקף הצוות.

  1. בדף צוותים, לוחצים על היקף הצוות שרוצים לראות את הפרטים שלו.
  2. בכרטיסייה Team (צוות), אפשר לראות את תוויות ההיקף, אם יש כאלה, ולצפות בחברי הצוות.
  3. לוחצים על הכרטיסייה Monitoring כדי לראות את מדדי ניצול המשאבים של הצוות.
  4. לוחצים על הכרטיסייה Clusters (אשכולות) כדי לראות את האשכולות של היקף הצוות.
  5. לוחצים על הכרטיסייה Namespaces כדי לראות את מרחבי השמות של הצי בטווח של הצוות הזה.
  6. לוחצים על הכרטיסייה יומנים כדי לראות יומנים של היקף הצוות.

הוספה או מחיקה של אשכולות בהיקף של צוות

כדי להוסיף או למחוק אשכולות בהיקף צוות קיים:

  1. נכנסים לדף Teams במסוף Google Cloud :

    מעבר אל Teams

  2. בוחרים את ההיקף של הצוות שבו רוצים להוסיף או למחוק אשכולות. בכרטיסייה אשכולות מוצגת רשימה של האשכולות שמוגדרים כרגע בהיקף.

כדי להוסיף אשכולות להיקף של צוות:

  1. בראש הדף, לוחצים על הוספת אשכולות.
  2. בתפריט הנפתח Clusters, בוחרים את האשכולות שרוצים להוסיף להיקף ולוחצים על OK.
  3. לוחצים על עדכון היקף הצוות.

כדי למחוק אשכולות מההיקף של הצוות:

  1. לוחצים על הכרטיסייה Clusters (אשכולות) שבה מוצגת רשימה של האשכולות שמוגדרים כרגע בהיקף.
  2. לוחצים על סמל האשפה לצד האשכול שרוצים למחוק, ואז לוחצים על הסרה כדי לאשר את המחיקה.

מחיקת היקף הרשאות

  1. נכנסים לדף Teams במסוף Google Cloud :

    מעבר אל Teams

  2. בוחרים את ההיקף של הנבחרת שרוצים למחוק.

  3. כדי למחוק את ההיקף, בחלק העליון של הדף לוחצים על מחיקה.

  4. כדי לאשר את המחיקה, מזינים את שם ההיקף ולוחצים שוב על מחיקה.

ניהול מרחבי שמות של Fleet

gcloud

אפשר להשתמש בפקודות הבאות כדי לנהל מרחבי שמות בהיקף של צוות.

הצגת רשימה של מרחבי שמות של צי

כדי לראות את כל מרחבי השמות שנוצרו באמצעות fleet scopes namespaces create בהיקף מסוים, מריצים את הפקודה הבאה:

gcloud container fleet scopes namespaces list --scope=SCOPE_NAME

מחיקת מרחב שמות של צי

כדי למחוק מרחב שמות של Fleet, מריצים את הפקודה הבאה:

gcloud container fleet scopes namespaces delete NAMESPACE_NAME --scope=SCOPE_NAME

חשוב לדעת: מה שקורה כשמוחקים מרחב שמות של Fleet תלוי באופן שבו הוספתם את מרחב השמות:

  • אם יצרתם מרחב שמות חדש של Fleet: הפקודה הזו מוחקת את מרחב השמות של Fleet. הפעולה הזו גם מוחקת את כל מרחבי השמות של Kubernetes שנוצרו כתוצאה מיצירת מרחב השמות של ה-Fleet, יחד עם עומסי העבודה שלהם.
  • אם הפעלתם מרחב שמות קיים של Kubernetes: הפקודה הזו מוחקת את מרחב השמות של ה-Fleet. מרחב השמות המקורי שצירופתם לא נמחק.

המסוף

כדי לנהל מרחבי שמות של Fleet בהיקף הצוות:

  1. נכנסים לדף Teams במסוף Google Cloud :

    מעבר אל Teams

  2. בוחרים את היקף הנבחרת שרוצים לנהל את מרחבי השמות של הצי שלה.

הצגת רשימה של מרחבי שמות של צי

בהיקף הצוות, בוחרים בכרטיסייה Namespaces שבה מוצגת רשימה של מרחבי השמות שנוצרו בהיקף הזה.

הצגת פרטים של מרחב שמות

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

  1. בוחרים בכרטיסייה Namespaces (מרחבי שמות) שבה מוצגת רשימה של מרחבי השמות של הצי שנוצרו בהיקף הצוות.
  2. לוחצים על מרחב השמות של ה-Fleet שרוצים לראות את הפרטים שלו.
  3. בכרטיסייה פרטים אפשר לראות את מרחב השמות של צי הרכבים ואת תוויות ההיקף.
    • כדי לראות את עומסי העבודה של מרחב השמות הזה, לוחצים על הצגת עומסי עבודה.
    • בדף Workloads (עומסי עבודה), אפשר לראות את עומסי העבודה שכבר סוננו לפי מרחב השמות והאשכולות שמשויכים להיקף הצוות עבור מרחב השמות הזה.
  4. בכרטיסייה Logs (יומנים), אפשר לראות יומנים של היקף הצי לפי מרחב שמות.

הוספת מרחבי שמות של Fleet להיקף צוות

  1. כדי להוסיף מרחב שמות חדש של Fleet, בחלק העליון של הדף, לוחצים על הוספת מרחבי שמות.
  2. מזינים את השם של מרחב השמות החדש של Fleet, ומוודאים שהשם לא סותר את ההגבלות על שמות של מרחבי שמות של Fleet. כדי להוסיף עוד מרחבי שמות, לוחצים על הוספת מרחב שמות.
  3. לוחצים על עדכון היקף הצוות.

מחיקת מרחב שמות של צי

  1. בוחרים בכרטיסייה Namespaces (מרחבי שמות) שבה מוצגת רשימה של מרחבי השמות של הצי שנוצרו בהיקף הצוות.
  2. לוחצים על סמל האשפה לצד מרחב השמות שרוצים למחוק.
  3. כדי לאשר את המחיקה, מזינים את השם של מרחב השמות ולוחצים שוב על מחיקה.

חשוב לזכור שהתוצאה של הפעולה הזו תלויה באופן שבו הוספתם את מרחב השמות:

  • אם יצרתם מרחב שמות חדש של צי: מרחב השמות של הצי נמחק. כל מרחבי השמות של Kubernetes שנוצרו כתוצאה מיצירת מרחב השמות של הצי גם נמחקים, יחד עם עומסי העבודה שלהם.
  • אם הפעלתם מרחב שמות קיים של Kubernetes: מרחב השמות של ה-Fleet נמחק. עם זאת, מרחב השמות המקורי שצירופתם לא נמחק.

עדכון השם של מרחב שמות של Fleet

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

ניהול הגישה של הצוות

gcloud

הצגת חברי הצוות

כדי להציג רשימה של כל חברי הצוות שקיבלו גישה להיקף הצוות באמצעות הפקודה add-app-operator-binding, יחד עם פרופילי ההרשאות שלהם, משתמשים בפקודה הבאה:

gcloud beta container fleet scopes list-app-operator-bindings SCOPE_NAME

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

  • SCOPE_NAME: המזהה הייחודי של היקף הצוות.

הסרה של חברי צוות

כדי להסיר את הגישה של חבר צוות להיקף (שניתנה באמצעות add-app-operator-binding), משתמשים בפקודה הבאה:

gcloud beta container fleet scopes remove-app-operator-binding SCOPE_NAME \
   --group=TEAM_EMAIL

או

gcloud beta container fleet scopes remove-app-operator-binding SCOPE_NAME \
   --user=USER_EMAIL

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

  • SCOPE_NAME: המזהה הייחודי של היקף הצוות.
  • TEAM_EMAIL או USER_EMAIL: כתובת האימייל של הקבוצה או המשתמש שרוצים להסיר מהצוות.

אם חבר הצוות קיבל גישה באמצעות הפקודה rbacrolebindings create, צריך להשתמש בפקודה rbacrolebindings delete כדי להסיר אותו.

עדכון הגישה להיקף הצוות

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

אם לחבר הצוות ניתנה גישה באמצעות הפקודה rbacrolebindings create, אפשר להשתמש בפקודה rbacrolebindings update במקום זאת כדי לעדכן את הגישה של חבר הצוות.

המסוף

הוספה או הסרה של חברי צוות

כדי לנהל את חברי הצוות בהיקף הצוות:

  1. נכנסים לדף Teams במסוף Google Cloud :

    מעבר אל Teams

  2. בוחרים את היקף הנבחרת שרוצים לנהל את החברים שלה.

כדי להוסיף חברי צוות חדשים להיקף:

  1. בראש הדף, לוחצים על הוספת חברים לצוות. פועלים לפי ההוראות שמפורטות בקטע יצירת היקף צוות.
  2. לוחצים על עדכון היקף הצוות.

כדי להסיר חברי צוות מההיקף:

  1. בכרטיסייה Team (צוות), לוחצים על סמל האשפה לצד שם חבר הצוות שרוצים להסיר מהיקף הצוות.
  2. לוחצים על מחיקה כדי לאשר את המחיקה.

אי אפשר לערוך את הפרטים של חברי הצוות ב Google Cloud מסוף. כדי לעדכן את הגישה להיקף במסוף Google Cloud (לדוגמה, כדי להעניק לחברי הצוות תפקיד אחר או לעדכן את כתובת האימייל הקבוצתית), צריך להסיר את חבר הצוות מההיקף ולהוסיף אותו שוב עם הפרטים החדשים.

הגבלות על שמות של מרחבי שמות ב-Fleet

השמות הבאים שמורים ואסורים לשימוש כשיוצרים מרחב שמות של Fleet בהיקף צוות:

  • default
  • kube-system
  • gke-connect
  • kube-node-lease
  • kube-public
  • istio-system
  • gatekeeper-system
  • asm-system
  • config-management-system
  • anthos-creds
  • anthos-identity-service
  • capi-kubeadm-bootstrap-system
  • capi-system
  • cert-manager
  • gke-managed-metrics-server
  • gke-system
  • config-management-monitoring
  • istio-gateway
  • knative-serving
  • resource-group-system
  • gke-mcs
  • appdevexperience
  • vm-system
  • gmp-system
  • gmp-public
  • gke-gmp-system
  • gke-managed-filestorecsi
  • apigee
  • apigee-system

ניהול תוויות

כדי לעזור לכם לזהות ולנהל את ההיקפים, אתם יכולים להשתמש ב-Google Cloud CLI כדי ליצור ולנהל תוויות למרחבי השמות של הצי ולתחומי הצוות.

תוויות שמוסיפים להיקף של צוות עוברות בירושה לכל מרחבי השמות של הצי בהיקף, כלומר הן מצורפות לכל מרחבי השמות של Kubernetes באשכולות של ההיקף. תוויות שמוסיפים ישירות למרחב שמות של Fleet מצורפות רק למרחבי השמות התואמים של Kubernetes. אם לתווית בהיקף צוות ולתווית במרחב שמות של Fleet יש את אותו מפתח, התווית בהיקף צוות מקבלת עדיפות.

אפשר לעבוד על כמה צמדי מפתח/ערך בו-זמנית על ידי הוספת רשימה של צמדי מפתח/ערך שמופרדים בפסיקים.

ניהול תוויות של מרחבי שמות של Fleet

יצירת מרחב שמות של Fleet עם תוויות

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

gcloud container fleet scopes namespaces create NAMESPACE_NAME \
    --scope SCOPE_NAME \
    --namespace-labels KEY=VALUE

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

  • NAMESPACE_NAME: השם הייחודי שבחרתם למרחב השמות ב-Fleet.
  • SCOPE_NAME: ההיקף של הצוות שבו רוצים להשתמש במרחב השמות.
  • KEY: המפתח של צמד המפתח/ערך של התווית.
  • VALUE: הערך של צמד המפתח/ערך של התווית.

הוספה או עדכון של תוויות למרחבי שמות קיימים של Fleet

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

gcloud container fleet scopes namespaces update NAMESPACE_NAME \
    --scope SCOPE_NAME \
    --update-namespace-labels KEY=VALUE

מחיקת תוויות של מרחבי שמות ב-Fleet

כדי למחוק תווית ספציפית של מרחב שמות ב-Fleet, מריצים את הפקודה הבאה:

gcloud container fleet scopes namespaces update NAMESPACE_NAME \
    --scope SCOPE_NAME \
    --remove-namespace-labels KEY

מחליפים את KEY ברשימה מופרדת בפסיקים של המפתחות של התוויות שרוצים להסיר.

כדי למחוק את כל תוויות מרחב השמות של Fleet, מריצים את הפקודה הבאה:

gcloud container fleet scopes namespaces update NAMESPACE_NAME \
    --scope SCOPE_NAME \
    --clear-namespace-labels

ניהול תוויות בהיקף הצוות

יצירת היקף צוות עם תוויות

כדי ליצור היקף עם תווית, מריצים את הפקודה הבאה:

gcloud container fleet scopes create SCOPE_NAME \
    --namespace-labels KEY=VALUE

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

  • SCOPE_NAME: השם הייחודי שבחרתם לצוות החדש.
  • KEY: המפתח של צמד המפתח/ערך של התווית.
  • VALUE: הערך של צמד המפתח/ערך של התווית.

הוספה או עדכון של תוויות להיקפי צוות קיימים

כדי להוסיף או לעדכן תוויות להיקף קיים, מריצים את הפקודה הבאה:

gcloud container fleet scopes update SCOPE_NAME \
    --update-namespace-labels KEY=VALUE

מחיקת תוויות בהיקף הצוות

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

gcloud container fleet scopes update SCOPE_NAME \
     --remove-namespace-labels KEY

מחליפים את KEY ברשימה מופרדת בפסיקים של המפתחות של התוויות שרוצים להסיר.

כדי למחוק את כל התוויות, מריצים את הפקודה הבאה:

gcloud container fleet scopes update SCOPE_NAME \
    --clear-namespace-labels

מה השלב הבא?