משימה נפוצה של אדמינים של פלטפורמות היא לוודא שלצוותי האפליקציות והשירותים יש את משאבי התשתית שהם צריכים כדי להפעיל את עומסי העבודה שלהם. בהתאם לארגון, יכול להיות שצוותים יצטרכו להשתמש באשכולות ספציפיים, או להריץ עומסי עבודה בכל אשכול בצי, עם בקרת גישה מתאימה לכל צוות. תכונות הניהול של צוותי צי מאפשרות לאדמינים להקצות ולנהל משאבי תשתית כאלה לצוותים בקלות רבה יותר, כאשר כל צוות פועל כ'דייר' נפרד בצי. צוותים יכולים להריץ ולנהל את עומסי העבודה שלהם, וגם לראות יומנים, ניצול משאבים, שיעורי שגיאות ומדדים אחרים, והכול בהיקף של קבוצת האשכולות ומרחבי השמות שלהם.
הדף הזה מיועד לאדמינים של פלטפורמות ולחברי צוות אפליקציות שרוצים לקבל מידע על תכונות לניהול צוותים בצי.
סקירה כללית על ניהול צוותים ב-Fleet
ניהול צוותים בצי מבוסס על שני מושגי מפתח שמאפשרים לאדמינים להשתמש בהפשטה ברמת הצוות כדי לנהל את הצי:
- היקפי צוות מאפשרים להגדיר קבוצות משנה של משאבי צי על בסיס צוות, כאשר כל היקף משויך לאחד או יותר מאשכולות חברי הצי. היקפי הצוות יכולים לכלול אשכולות בתוך צי או מחוצה לו, אבל כל האשכולות צריכים להיות חלק מאותו צי. Google Cloud Google Cloudאפשר לשייך אשכול ליותר מהיקף צוות אחד, וכך לאפשר לצוותים שונים להריץ עומסי עבודה באותו אשכול.
- מרחבי שמות של צי מאפשרים לקבוע למי יש גישה למרחבי שמות ספציפיים בצי. כברירת מחדל, כל מרחבי השמות עם אותו שם שמוגדרים באשכולות בצי נחשבים לאותו מרחב שמות. עם זאת, ניהול צוותים בצי מספק דרך להוסיף שליטה מפורטת יותר במרחבי שמות. אתם יכולים ליצור מרחבי שמות של צי רכבים בהיקפים ספציפיים של צוותים, ואז להעניק לחברי הצוות גישה אליהם רק באשכולות שבהיקף הצוות שלהם. אפשר להשתמש במרחבי שמות של צי באותו אופן שבו משתמשים בכל מרחב שמות אחר של Kubernetes באשכולות החברים בהיקף הצוות. אדמינים של הפלטפורמה יכולים ליצור מרחבי שמות של צי בעצמם, או, עם הרשאות נוספות, להעביר את היצירה של מרחבי שמות לאדמינים של צוותים.
דוגמה לניהול צוותים
לדוגמה, נניח שאתם אדמינים בפלטפורמה של חברת Cymbal Group, ומגדירים משאבים לשני צוותים בצי אחד.
- צוות הקצה העורפי מורכב מקבוצת Google אחת,
backend-team@cymbalgroup.com. אתם מחליטים שהצוות הזה יכול להריץ עומסי עבודה באשכול 1 ובאשכול 2, באמצעות מרחב השמותbackend. יוצרים היקף צוות שכולל את שני האשכולות, ומגדיריםbackendמרחב שמות של צי בתוך ההיקף הזה. - צוות הפרונט-אנד מורכב משתי קבוצות Google,
frontend-admin@cymbalgroup.comו-frontend-dev@cymbalgroup.com. אתם מחליטים שצוות הפרונט-אנד יכול להריץ עומסי עבודה באשכול 2 ובאשכול 3, באמצעות מרחבי השמותfrontend-fooו-frontend-bar. שוב, יוצרים היקף צוות עם שני האשכולות ומגדירים שני מרחבי שמות של צי בתוך ההיקף הזה.
כפי שאפשר לראות בתרשים, אחרי שמגדירים את הצוותים, שני הצוותים יכולים להשתמש באשכול 2, כשכל צוות משתמש במרחבי השמות שלו. בנוסף, צוות ה-Backend יכול להשתמש במרחב השמות שלו באשכול 1, וצוות ה-Frontend יכול להשתמש במרחבי השמות שלו באשכול 3. שני הצוותים יכולים להריץ את עומסי העבודה שלהם באשכולות ולראות את המשאבים שלהם בלי להתחשב בצוות השני.
בכל מקרה, מציינים שלראשי הצוותים (המשתמש דנה במקרה של צוות ה-Backend, וחברי הקבוצה frontend-admin במקרה של צוות ה-Frontend) יש גישה admin להיקף הצוות, כלומר הם יכולים ליצור תפקידים וקישורי תפקידים בהיקף הזה, בעוד שלשאר חברי הצוות יש גישה editor.
אפשר להגדיר את כל ההגדרות האלה באופן ידני באמצעות kubectl או כלים אחרים, אבל שימוש בתכונות לניהול צוותים מאפשר להוסיף את הצוותים במהירות, ולאדמינים ולחברי הצוות להשתמש בתכונות נוספות על סמך היקף ההרשאות של הצוות, כמו מדדים שמוגבלים לצוות.
במצב אמיתי, סביר להניח שיהיו לכם גם צי של מכונות נפרדות לסביבות הייצור, הפיתוח והבדיקה. תצטרכו ליצור היקפי צוותים לצוותי ה-Frontend וה-Backend בכל אחד מהציים האלה, ולספק לצוותים אשכולות ייצור, פיתוח ובדיקה משלהם. מידע נוסף על הנושא זמין במאמרים בנושא שיטות מומלצות ודוגמאות לניהול צי רכבים.
תכונות שמופעלות לצוותים
אחרי שמגדירים את ההיקפים של הצוותים, מנהלי מערכת ומפעילים של אפליקציות יכולים לראות מידע בהיקף הצוות, כמו ניצול משאבים, יומנים, שגיאות לפי מרחב שמות ומדדים אחרים מכל ההיקף שלהם. כך קל להם להעריך את השימוש במשאבים הכוללים, לפתור בעיות ועוד. מידע נוסף על התכונות האלה זמין במאמר שימוש בסקירה הכללית של הצוות. אפשר להשתמש בהיקפי צוות גם כדי להגדיר רצף להשקת שדרוגים.
גישה להיקפי צוות
מומלץ שחברי הצוות יגשו לאשכולות בהיקף הצוות באמצעות kubectl באמצעות פרטי הכניסה המיוחדים לאשכול של Connect Gateway. Connect Gateway הוא שירות עקבי ומאובטח שמאפשר למשתמשים להתחבר באמצעות מזהי Google שלהם לכל אשכול בצי, כולל שימוש בקבוצות Google לצורך הרשאה. השימוש בפרטי הכניסה של השער לא נדרש כדי לבצע אימות לאשכולות GKE ב- Google Cloud, אבל הוא מספק דרך פשוטה ועקבית לבצע אימות לאשכולות של חברי צי, גם בפרויקטים שונים. בשלב הזה, ניהול צוותים בצי הרכב לא תומך בספקי זהויות של צד שלישי.
משאבים קיימים
אפשר גם להשתמש בניהול צוותים בצי כדי לבצע 'צירוף' של מרחבי שמות וקלאסטרים קיימים שבהם משתמשים הצוותים בארגון, וכך לאפשר לאדמינים ולצוותים להתחיל להשתמש בתכונות שמבוססות על צוותים עם עומסי עבודה קיימים. אם יוצרים מרחב שמות של צי ויש מרחב שמות קיים של Kubernetes עם אותו שם באחד מהאשכולות שמשויכים להיקף הצוות, מרחב השמות הזה ייחשב למופע של מרחב השמות של הצי, ולכן הוא חלק מהיקף הצוות.
מה השלב הבא?
- אדמינים של הפלטפורמה יכולים לפעול לפי ההוראות במאמר הגדרת צוותים כדי להגדיר, לקבוע ולנהל את ההיקפים והמרחבים של שמות הצוותים.
- במאמר שימוש בסקירה הכללית של הצוות (תצוגה מקדימה מוגבלת בלבד) מוסבר איך לצפות במדדים ברמת הצוות ובמידע נוסף שספציפי לצוות.