Fleets מאפשר לכם לנהל תכונות של ארגונים ושל צי רכבים אחרים בכמה אשכולות בו-זמנית. לדוגמה, תוכלו להחיל קבוצה משותפת של כללים או ליצור רשת Service mesh אחת בכל צי האשכולות. בדף הזה מוסבר איך לנהל תכונות עבור Fleet המכשירים שלכם. מידע נוסף על הגדרה ושימוש בתכונות ספציפיות זמין במסמכי התיעוד שלהן.
אם הפעלתם את Google Kubernetes Engine, תוכלו לנהל את התכונות במסוף Google Cloud . כל המשתמשים ב-Fleet יכולים לנהל תכונות באמצעות שורת הפקודה.
חלק מהתכונות מאפשרות ליצור הגדרת תכונות שמוגדרת כברירת מחדל ברמת Fleet עבור אשכולות Fleet. לדוגמה, אתם יכולים לוודא שבכל אשכול שאתם יוצרים בצי יש את Policy Controller מותקן ומוגדר.
בקטע הרשאת תכונות מוסבר איך ניהול תכונות ברמת הצי עובד 'מתחת לפני השטח' באשכולות.
תכונות ברמת הצי
אתם יכולים לנהל את התכונות הבאות ברמת הצי:
- Cloud Service Mesh מנוהל
- מצב אבטחה
- Config Sync
- Policy Controller
- GKE Identity Service
- Multi Cluster Ingress
- שירותים מרובי-אשכולות (אשכולות GKE בלבד)
- תיקוף רציף ב-Binary Authorization
הרשימה הזו לא כוללת את כל התכונות שמשתמשות בצי או שנדרש עבורן צי. לדוגמה, איחוד שירותי אימות הזהות של עומסי עבודה ב-Fleet מסתמך על כך שאשכולות הם חברים ב-Fleet, אבל לא דורש הגדרה ברמת ה-Fleet. לעומת זאת, Cloud Service Mesh דורש חברות ב-Fleet לכל אפשרויות מישור הבקרה וההגדרה.
מידע נוסף על התכונות שזמינות בסביבות השונות זמין בדף אפשרויות הפריסה.
הגדרת תכונות ברמת הצי
בקטעים הבאים מוסבר איך להפעיל ולהגדיר תכונות ברמת הצי.
כדי להשתמש בתכונה ברמת ה-Fleet, ברוב המקרים מפעילים את התכונה ל-Fleet ומגדירים אותה לחברי ה-Fleet. בדרך כלל נדרשת הגדרה מסוימת (או הגדרה נוספת אחרת) כדי להשתמש בתכונה בפועל עם האשכולות ועומסי העבודה שלכם.
אתם יכולים ליצור הגדרות אשכול כברירת מחדל לכלל ה-Fleet לשימוש בתכונות מסוימות. המשמעות היא שכל אשכול חדש שתיצרו ב-Fleet ייווצר עם ההגדרות שציינתם לאותה תכונה שכבר הוגדרו.
הפעלת תכונות עם הגדרות ברירת מחדל ברמת הצי
אתם יכולים ליצור הגדרות ברירת מחדל ברמת הצי לאשכולות GKE עבור חלק מהתכונות. אחרי שיוצרים את ההגדרות האלה, כל אשכול GKE שרושמים במהלך יצירת האשכול מוגדר באופן אוטומטי עם ההגדרות ברמת הצי. לדוגמה, אם מגדירים ברירות מחדל ל-Policy Controller, כל אשכול חדש שיוצרים בצי יקבל את הגרסה שצוינה של Policy Controller, עם חבילות המדיניות וההגדרות האחרות שצוינו. הגדרות ברירת המחדל של Fleet לא מוחלות אוטומטית על אשכולות קיימים של חברי Fleet, אבל אפשר לסנכרן אשכולות קיימים עם הגדרות ברירת המחדל באמצעות המסוף Google Cloud .
התהליך הכללי להפעלת תכונות עם הגדרות ברירת מחדל ברמת הצי הוא:
המסוף
בפרויקט המארח של צי המחשבים, עוברים לדף Feature Manager:
התכונות שתומכות בהגדרת ברירות מחדל ברמת הצי באמצעות מסוף Google Cloud מפורטות במאמר ניהול תכונות ברמת הצי.
בתכונה שבחרתם, לוחצים על הגדרה ופועלים לפי ההוראות כדי להפעיל את התכונה ולהגדיר את ברירות המחדל שלה.
אופציונלי: בוחרים ומסנכרנים אשכולות קיימים ב-Fleet עם ההגדרות החדשות.
gcloud
- יוצרים קובץ YAML שמציין את ברירות המחדל של Fleet שנבחרו לתכונה.
מריצים את הפקודה
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 שמציין את הגדרות ברירת המחדל של הצי שבחרתם. לפרטים נוספים על התכונות הנתמכות ב-Fleet, ראו את התיעוד של Terraform.
לא כל התכונות תומכות בהגדרת ברירת מחדל ל-Fleet באמצעות כל האפשרויות האלה. הוראות מפורטות להגדרת ברירות מחדל של Fleet לכל תכונה נתמכת מופיעות במאמרי עזרה הבאים:
- Cloud Service Mesh
- Config Sync
- Policy Controller
- מצב אבטחה
- GKE Identity Service (רק דרך שורת הפקודה)
- תיקוף רציף ב-Binary Authorization (גרסת Preview, שורת פקודה בלבד)
הפעלה והגדרה של תכונות של Fleet באשכולות נפרדים
במקום להשתמש בהגדרות ברירת המחדל של Fleet, אפשר להגדיר תכונות של Fleet בנפרד בכל אשכול. האפשרות הזו יכולה להתאים לכם אם:
- רוצים להגדיר קלאסטר קיים לשימוש בתכונה.
- אתם רוצים להשתמש בשירותים שבהם הגדרת ברירת המחדל של צי המכשירים לא זמינה, או לא זמינה באמצעות הכלי שבחרתם.
הפעלת תכונות
שימו לב: השלב הזה לא נדרש לכל התכונות. פרטים נוספים זמינים במדריך לתכונה שבחרתם.
המסוף
אפשר להפעיל תכונות בדף Feature Manager במסוף Google Cloud .
כדי להפעיל תכונה לצי הרכבים:
בפרויקט המארח של צי המחשבים, עוברים לדף Feature Manager:
תכונות שאפשר להפעיל אבל אי אפשר להגדיר מהדף הזה מפורטות בקטע ניהול תכונות אחרות שמוכנות לשימוש בארגון.
לוחצים על הפעלה בחלונית של התכונה שרוצים להפעיל.
לוחצים על הלחצן הפעלה... בחלונית הפרטים שמוצגת.
gcloud
לכל תכונה ברמת הצי יש פקודה משלה enable. לדוגמה, כדי להפעיל את GKE Identity Service ב-Fleet, מריצים את הפקודה הבאה בפרויקט המארח של ה-Fleet:
gcloud container fleet identity-service enable
לרשימה מלאה של פקודות, אפשר לעיין במסמכי העיון של Google Cloud SDK (ובגרסאות המקבילות בטא ואלפא), או בערכות התיעוד של התכונות השונות לקבלת פרטים נוספים.
כדי ללמוד איך לבדוק אם תכונה כבר הופעלה ולראות את הסטטוס של תכונות אחרות, אפשר לעיין במאמר בדיקת הסטטוס של תכונות ב-Fleet.
הגדרת אשכולות בודדים
שלבי ההגדרה הספציפיים תלויים בתכונה. מידע נוסף זמין במדריכים הבאים:
- Cloud Service Mesh
- מצב אבטחה:
- Config Sync
- Policy Controller
- GKE Identity Service
- Multi Cluster Ingress
צפייה בסטטוס התכונות של צי המכשירים
הדרך הכי קלה לראות את הסטטוס של התכונות בצי היא באמצעות לוח הבקרה של מנהל התכונות במסוף Google Cloud .
בתכונות נתמכות, בדף הזה מוצג כמה מאשכולות ה-Fleet שלכם נמצאים בסטטוסים הבאים:
- התכונה הזו מופעלת
- הפעלת התכונה בהצלחה
- הצגת אזהרה לגבי התכונה הזו
- נתקלת בשגיאה בתכונה הזו
תוכלו גם לראות אם הגדרות ברירת המחדל של Fleet הוגדרו לתכונה, וכמה אשכולות של חברי Fleet כוללים את ההגדרות האלה. אם התכונות מופעלות, אפשר ללחוץ עליהן כדי לעבור לדף הפרטים שבו מפורטים האשכולות שמשתמשים בתכונה. אם התכונה מוגדרת, אפשר גם לבחור ולסנכרן אשכולות עם הגדרות ברירת המחדל של Fleet.
בתכונות שלא ניתן להגדיר באמצעות הדף הזה (שמופיעות בקטע ניהול תכונות אחרות שמוכנות לארגונים), אפשר לראות אם התכונה הופעלה ב-Fleet, ולהציג חלונית פרטים שבה מפורט בכמה אשכולות התכונה מותקנת ומידע רלוונטי אחר.
צפייה בסטטוס התכונה באמצעות gcloud
gcloud
מריצים את הפקודה הבאה כדי להציג רשימה של כל התכונות המופעלות:
gcloud container fleet features list
השבתת תכונה ברמת הצי
כדי להשבית תכונה ברמת ה-Fleet, מבצעים את הפעולות הבאות בפרויקט המארח של ה-Fleet.
המסוף
אפשר להשבית במסוף Google Cloud רק את התכונות של צי המכשירים שמפורטות בקטע ניהול תכונות אחרות שמוכנות לשימוש בארגון.
בפרויקט המארח של צי המחשבים, עוברים לדף Feature Manager:
לוחצים על פרטים בחלונית של התכונה שרוצים להשבית.
לוחצים על הלחצן השבתה... בחלונית הפרטים שמוצגת.
gcloud
לכל תכונה ברמת הצי יש פקודה משלה disable. לדוגמה, כדי להשבית את Cloud Service Mesh בצי, מריצים את הפקודה הבאה בפרויקט המארח של הצי:
gcloud container fleet mesh disable
לרשימה מלאה של פקודות, אפשר לעיין במסמכי התיעוד של Google Cloud SDK reference (ובמקבילים שלהם בגרסת בטא ובגרסת אלפא), או בערכות התיעוד של התכונות השונות לקבלת פרטים נוספים.
כדי להבין מה צפוי לקרות אחרי שמשביתים תכונה ב-Fleet, אפשר לעיין במסמכי התכונה הרלוונטיים. במקרים רבים, ההגדרה הרלוונטית עדיין קיימת באשכול, אבל כבר אי אפשר לנהל את התכונה באופן מרכזי באמצעות פקודות של Fleet או באמצעות מסוף Google Cloud .
הרשאה לשימוש בתכונות
כדי לנהל תכונות ברמת הצי, צריך לאשר אותן באמצעות בקרת גישה מבוססת-תפקידים כדי לבצע את הפונקציות שלהן באשכולות. Google Cloudמשתמשים בשירות שנקרא Feature Authorizer (מאשר תכונות) שמגדיר ומעדכן באופן אוטומטי הרשאות לתכונות שמופעלות בצי, וכך לא צריך להגדיר הרשאות לתכונות באופן ידני בכל אשכול, במיוחד כש-Google מפרסמת עדכוני תכונות.
כשרושמים אשכול, המניפסט שמוחל על האשכול מכיל ClusterRoleBinding שנותן למנגנון ההרשאות של התכונה תפקיד cluster-admin באשכול, והתפקיד מצורף לחשבון שירות בשם service-project-number@gcp-sa-gkehub.iam.gserviceaccount.com.
כשמשביתים תכונה שמופעלת בצי בפרויקט, Feature Authorizer מוחק את ClusterRole ו-ClusterRoleBinding התואמים של התכונה, וכך התכונה לא יכולה לפעול באשכול.
צפייה ב-Feature Authorizer ביומני ביקורת
כדי לראות את הפעילות של Feature Authorizer ביומני הביקורת של GKE:
פותחים את Logs Explorer במסוף Google Cloud .
מריצים את השאילתה המתקדמת הבאה:
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 מאוחסנים, ולהריץ שאילתה דומה.