ניהול תכונות ברמת הצי

‫Fleets מאפשר לכם לנהל תכונות של מהדורות Enterprise ותכונות אחרות שמופעלות ב-Fleet בכמה אשכולות בו-זמנית. לדוגמה, תוכלו להחיל קבוצה משותפת של כללי מדיניות או ליצור רשת Service mesh יחידה בכל צי האשכולות שלכם. בדף הזה מוסברת סקירה כללית על האופן שבו אפשר לנהל תכונות עבור צי המכשירים. מידע נוסף על הגדרה ושימוש בתכונות ספציפיות זמין במסמכי התיעוד שלהן.

אם הפעלתם את Google Kubernetes Engine, תוכלו לנהל את התכונות במסוף Google Cloud . כל המשתמשים בצי יכולים לנהל תכונות באמצעות שורת הפקודה.

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

בקטע הרשאת תכונות אפשר לקרוא מידע נוסף על האופן שבו ניהול תכונות ברמת הצי פועל 'מתחת לפני השטח' באשכולות.

תכונות ברמת הצי

אתם יכולים לנהל את התכונות הבאות ברמת צי הרכבים:

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

מידע נוסף על התכונות שזמינות בסביבות שונות זמין בדף אפשרויות הפריסה.

הגדרת תכונות ברמת הצי

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

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

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

הפעלת תכונות עם הגדרות ברירת מחדל ברמת הצי

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

התהליך הכללי להפעלת תכונות עם הגדרות ברירת מחדל ברמת הצי הוא:

המסוף

  1. בפרויקט המארח של צי המחשבים, עוברים לדף Feature Manager:

    מעבר אל Feature Manager

    התכונות שתומכות בהגדרת ברירות מחדל ברמת הצי באמצעות מסוף Google Cloud מפורטות במאמר ניהול תכונות ברמת הצי.

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

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

gcloud

  1. יוצרים קובץ YAML שמציין את ברירות המחדל של הצי שנבחרו לתכונה.
  2. מריצים את הפקודה enable לתכונה ומעבירים לה את קובץ התצורה. לכל תכונה ברמת הצי יש פקודה משלה enable. לדוגמה, כדי להפעיל את Cloud Service Mesh בצי עם הגדרת ברירת המחדל שצוינה ב-mesh.yaml, מריצים את הפקודה הבאה בפרויקט המארח של הצי:

    gcloud container fleet mesh enable --fleet-default-member-config mesh.yaml
    

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

Terraform

מגדירים משאב google_gke_hub_feature עם בלוק fleet_default_member_config שמציין את הגדרות ברירת המחדל של הצי שבחרתם. פרטים על תכונות נתמכות של צי מכשירים מופיעים בתיעוד של Terraform.

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

הפעלה והגדרה של תכונות Fleet באשכולות נפרדים

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

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

הפעלת תכונות

שימו לב: השלב הזה לא נדרש לכל התכונות. פרטים נוספים זמינים במדריך לתכונה שבחרתם.

המסוף

אפשר להפעיל תכונות בדף Feature Manager במסוף Google Cloud .

כדי להפעיל תכונה בצי הרכבים:

  1. בפרויקט המארח של צי המחשבים, עוברים לדף Feature Manager:

    מעבר אל Feature Manager

    תכונות שאפשר להפעיל אבל אי אפשר להגדיר מהדף הזה מפורטות בקטע ניהול תכונות אחרות שמוכנות לשימוש בארגון.

  2. לוחצים על הפעלה בחלונית של התכונה שרוצים להפעיל.

  3. לוחצים על הכפתור הפעלה... בחלונית הפרטים שמוצגת.

gcloud

לכל תכונה ברמת הצי יש פקודה משלה enable. לדוגמה, כדי להפעיל את שירות הזהויות של GKE בצי, מריצים את הפקודה הבאה בפרויקט המארח של הצי:

gcloud container fleet identity-service enable

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

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

הגדרת אשכולות בודדים

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

צפייה בסטטוס התכונות של צי המכשירים

הדרך הכי קלה לראות את הסטטוס של תכונות הצי היא באמצעות לוח הבקרה של הכלי לניהול תכונות במסוף Google Cloud .

מעבר אל Feature Manager

בתכונות נתמכות, בדף הזה מוצג כמה מהאשכולות בצי שלכם נמצאים בסטטוסים הבאים:

  • התכונה הזו מופעלת
  • התכונה הזו מופעלת בהצלחה
  • הצגת אזהרה לגבי התכונה הזו
  • נתקלת בשגיאה בתכונה הזו

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

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

צפייה בסטטוס התכונה באמצעות gcloud

gcloud

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

gcloud container fleet features list

השבתת תכונה ברמת הצי

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

המסוף

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

  1. בפרויקט המארח של צי המחשבים, עוברים לדף Feature Manager:

    מעבר אל Feature Manager

  2. לוחצים על פרטים בחלונית של התכונה שרוצים להשבית.

  3. לוחצים על הלחצן השבתה... בחלונית הפרטים שמוצגת.

gcloud

לכל תכונה ברמת הצי יש פקודה משלה disable. לדוגמה, כדי להשבית את Cloud Service Mesh בצי, מריצים את הפקודה הבאה בפרויקט המארח של הצי:

gcloud container fleet mesh disable

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

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

הרשאה לשימוש בתכונות

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

כשרושמים אשכול, המניפסט שמוחל על האשכול מכיל ClusterRoleBinding שנותן לתכונה Authorizer תפקיד cluster-admin באשכול, והתפקיד מצורף לחשבון שירות בשם service-project-number@gcp-sa-gkehub.iam.gserviceaccount.com.

כשמשביתים תכונה שמופעלת בצי בפרויקט, Feature Authorizer מוחק את ClusterRole ו-ClusterRoleBinding התואמים של התכונה, וכך התכונה לא יכולה לפעול באשכול.

צפייה ב-Feature Authorizer ביומני הביקורת

כדי לראות את הפעילות של Feature Authorizer ביומני הביקורת של GKE:

  1. פותחים את Logs Explorer במסוף Google Cloud .

    כניסה לדף Logs

  2. מריצים את השאילתה המתקדמת הבאה:

    resource.type="k8s_cluster"
    resource.labels.cluster_name="CLUSTER_NAME"
    resource.labels.location="CLUSTER_LOCATION"
    protoPayload.authenticationInfo.principalEmail="system:serviceaccount:gke-connect:connect-agent-sa"
    protoPayload.authenticationInfo.authoritySelector="service-PROJECT_NUMBER@gcp-sa-gkehub.iam.gserviceaccount.com"
    

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

    • CLUSTER_NAME: שם האשכול שרוצים להציג את היומנים שלו.
    • CLUSTER_LOCATION: Google Cloud המיקום שבו נוצר האשכול.
    • PROJECT_NUMBER: Google Cloud מספר הפרויקט של הפרויקט שבבעלותו האשכול.

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