במאמר הזה מוסבר איך לנהל שדרוגים של אשכולות GKE באמצעות רצף פריסה. מידע נוסף על שדרוג אשכולות עם פריסת רצפים
אם אתם מגדירים סביבה בפעם הראשונה, כדאי להשתמש ברצף השקה עם שלבים בהתאמה אישית.
לפני שמתחילים
-
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud init - מוודאים שיש לכם קלאסטרים קיימים של Autopilot או Standard. כדי ליצור אשכול חדש, אפשר לעיין במאמר בנושא יצירת אשכול Autopilot.
- מוודאים שהפעלתם את ממשקי ה-API הנדרשים לניהול צי רכבים. כדי ליצור רצף פריסה מכל סוג, צריך להפעיל את ממשקי ה-API האלה בפרויקטים המארחים של צי הדפדפנים.
- אם משתמשים ב-Terraform, צריך לוודא שמשתמשים בגרסה 5.13.0 ואילך של ספק
google.
התפקידים הנדרשים
כדי ליצור או לשנות רצף השקה, צריך לקבל את תפקיד ה-IAM roles/gkehub.editor בכל פרויקט ברצף ההשקה. התפקיד עריכת Fleet (לשעבר עריכת GKE Hub) מספק את ההרשאות gkehub.features.create ו-gkehub.fleet.update, שנדרשות לגישה למשאבים שקשורים ל-Fleet ולשינוי שלהם בין פרויקטים. התפקיד הזה מספק את ההרשאות הנדרשות להגדרת אסטרטגיית השדרוג, לגישה למשאבים רלוונטיים ולשינוי שלהם, ולהתחלת תהליך ההשקה וניהולו.
אם אתם צריכים לרשום או לבטל רישום של אשכולות בצי, אתם צריכים את כל ההרשאות הבאות:
- הרשאות לרישום אשכולות בפרויקטים המארחים של ה-Fleet.
- הרשאות אדמין באשכול לכל אשכול GKE שרוצים לרשום.
- הרשאות רישום אשכולות בין פרויקטים כדי לרשום אשכולות GKE ב-Fleet בפרויקט אחר.
במאמר קבלת הצעות לתפקידים מוגדרים מראש בעזרת Gemini מוסבר איך מקבלים מידע נוסף על תפקידי IAM עם הרשאות מינימליות שנדרשים למשימות שונות.
הגדרת רצף השקה
במאמר הזה מוסבר איך ליצור רצף השקה באמצעות קבוצות של אשכולות שמסודרים לפי ציים.
אפשר ליצור רצף של עד חמש קבוצות של אשכולות, ולבחור את משך הזמן של בדיקת העומס שרוצים אחרי ששדרוגי האשכולות מסתיימים בקבוצה (עד 30 ימים). אפשר לכלול גם אשכולות במצב Autopilot וגם אשכולות רגילים.
כדי ליצור רצף השקה, צריך לארגן את האשכולות בקבוצות של ציוד. הנחיות לארגון האשכולות זמינות בדוגמה של בנק קהילתי. אחרי שמארגנים את האשכולות בקבוצות, מגדירים את הקשרים בין הקבוצות השונות ואת משך הזמן שכל קבוצה תהיה במצב Soak כדי ליצור רצף פריסה. במהלך השקת תכונה, המונח 'במעלה הזרם' מתייחס לקבוצה הקודמת, והמונח 'במורד הזרם' מתייחס לקבוצה הבאה.
ארגון האשכולות בקבוצות
במהלך השקת תכונה, כל האשכולות בכל הקבוצות צריכים להיות רשומים לאותו ערוץ הפצה ולהיות באותו גרסה משנית. אם הדרישות האלה לא מתקיימות ויש הבדלים בגרסאות בין האשכולות, עלולות להיווצר בעיות בהשקת הגרסה. מידע נוסף זמין במאמר בנושא התאמה להפצה מבוססת-צי.
אם כבר ארגנתם את האשכולות שלכם לקבוצות, אתם יכולים לדלג על השלבים הבאים ולעבור אל יצירת רצף פריסה.
מקבצים את האשכולות לציים. אתם יכולים לארגן את האשכולות לפי סביבות פריסה כמו בדיקה, Staging וייצור, כמו שמוצג בדוגמה לרצף פריסה מבוסס-צי.
רושמים כל אשכול לצי על סמך הקיבוץ שבחרתם.
יצירת רצף השקה
רצף ההשקה מאורגן כרשימה מקושרת עם עד חמישה רכיבים.
כשיוצרים רצף השקה, מגדירים את המאפיינים הבאים לכל קבוצת אשכולות:
- קבוצה במעלה הזרם: צי הרכבים במעלה הזרם, שמאפשר לגרסאות חדשות להיכנס לקבוצה במורד הזרם. לא מגדירים קבוצה במעלה הזרם עבור הקבוצה הראשונה ברצף.
זמן ההמתנה: זמן ההמתנה לקבוצה הוא הזמן שחולף מסיום השדרוגים (או מסיום הפריסה אחרי 30 יום) ועד לתחילת השדרוגים בקבוצה הבאה בשרשרת. מידע נוסף על האופן שבו מתבצעת בדיקת כשירות של גרסה ברצף השקה
המסוף
נכנסים לדף Rollout Sequencing במסוף Cloud de Confiance .
לוחצים על יצירת רצף השקה.
בחלונית יצירת רצף השקה, בוחרים את שני צי הרכבים הראשונים ברצף:
- בקטע Fleet 1, בוחרים את הצי הראשון ברצף.
- בקטע Soak time for upstream fleet, מגדירים את זמן ההשהיה של הצי הראשון באמצעות השדות Days, Hours ו-Minutes.
- בקטע Fleet 2, בוחרים את הצי השני ברצף.
- לוחצים על יצירה.
אופציונלי: אם רוצים להשתמש בשלוש קבוצות או יותר בהשקה הזו, מבצעים את השלבים הבאים:
- בגרף ההשקה, לוחצים על הרכיב של צי הרכבים השני.
- לוחצים על הוספת צי רכבים במורד הזרם.
- בקטע Soak time for upstream fleet, מגדירים את זמן ההמתנה לצי השני באמצעות השדות Days, Hours ו-Minutes.
- בקטע Next fleet in the sequence (הצי הבא ברצף), בוחרים את הצי השלישי ברצף.
- לוחצים על Save.
- אם רוצים להוסיף צי רביעי או חמישי, חוזרים על השלבים הקודמים.
gcloud
בהוראות הבאות נעשה שימוש בפקודה gcloud container fleet clusterupgrade update, אבל אפשר להגדיר את אותם מאפיינים גם באמצעות הפקודה gcloud container fleet clusterupgrade create.
בכל אחת מהפקודות הבאות, מחליפים את SOAK_TIME בזמן ההמתנה של צי המחשבים שרוצים לעדכן.
יצירת רצף השקה:
מגדירים את זמן ההמתנה לצי הראשון ברצף:
gcloud container fleet clusterupgrade update \ --default-upgrade-soaking=SOAK_TIME \ --project=FIRST_FLEET_PROJECT_IDמחליפים את
FIRST_FLEET_PROJECT_IDבמזהה הפרויקט המארח של צי המכונות.מגדירים את צי המכשירים שלמעלה ואת זמן ההמתנה לצי השני ברצף:
gcloud container fleet clusterupgrade update \ --upstream-fleet=FIRST_FLEET_PROJECT_ID \ --default-upgrade-soaking=SOAK_TIME \ --project=SECOND_FLEET_PROJECT_IDמחליפים את
FIRST_FLEET_PROJECT_IDבמזהה הפרויקט של פרויקט המארח של הצי הראשון, ואתSECOND_FLEET_PROJECT_IDבמזהה הפרויקט של פרויקט המארח של הצי.אופציונלי: אם רוצים להשתמש ביותר משני ציודים בסדרת השקה, מגדירים את הציוד שלמעלה בשביל הציודים הבאים בסדרה.
הפקודה הבאה מגדירה את צי ה-upstream עבור הצי השלישי ברצף. אם רוצים להוסיף צי רביעי או חמישי, חוזרים על השלב הזה, ופועלים לפי אותו דפוס כדי להחליף את המשתנים במזהי הפרויקטים של המארחים של הציים המתאימים (הצי הקודם והצי הבא).
מגדירים את צי הרכבים של השלב הקודם עבור צי הרכבים הבא ברצף:
gcloud container fleet clusterupgrade update \ --upstream-fleet=SECOND_FLEET_PROJECT_ID \ --default-upgrade-soaking=SOAK_TIME \ --project=THIRD_FLEET_PROJECT_IDמחליפים את
SECOND_FLEET_PROJECT_IDבמזהה הפרויקט של פרויקט המארח של הצי השני, ואתTHIRD_FLEET_PROJECT_IDבמזהה הפרויקט של פרויקט המארח של הצי.
Terraform
בסעיף הזה מוסבר איך ליצור רצף מבוסס-צי באמצעות Terraform. אפשר גם להשתמש במקור הזה כדי לעדכן את הרצף. מידע נוסף מופיע במאמרי העזרה של google_gke_hub_feature.
בכל אחת מהפקודות הבאות, מחליפים את SOAK_TIME בזמן ההמתנה של צי המחשבים שרוצים לעדכן.
יצירת רצף השקה:
מוסיפים את הבלוק הבא להגדרות Terraform כדי להגדיר את זמן ההמתנה (soak time) לצי הראשון ברצף:
resource "google_gke_hub_feature" "feature" { name = "clusterupgrade" location = "global" spec { clusterupgrade { upstream_fleets = [] post_conditions { soaking = "SOAK_TIME" } } } project = "FIRST_FLEET_PROJECT_ID" }מחליפים את
FIRST_FLEET_PROJECT_IDבמזהה הפרויקט המארח של צי המכונות.מוסיפים את הבלוק הבא להגדרות Terraform כדי להגדיר את צי השרתים של הגרסה הקודמת ואת זמן ההרצה של צי השרתים השני ברצף:
resource "google_gke_hub_feature" "feature" { name = "clusterupgrade" location = "global" spec { clusterupgrade { upstream_fleets = ["FIRST_FLEET_PROJECT_ID"] post_conditions { soaking = "SOAK_TIME" } } } project = "SECOND_FLEET_PROJECT_ID" }מחליפים את
FIRST_FLEET_PROJECT_IDבמזהה הפרויקט של פרויקט המארח של הצי הראשון, ואתSECOND_FLEET_PROJECT_IDבמזהה הפרויקט של פרויקט המארח של הצי.אופציונלי: אם רוצים להגדיר שלוש קבוצות של מכוניות בתהליך השקה, מוסיפים את הבלוק הבא להגדרות של Terraform כדי להגדיר את קבוצת המכוניות במעלה הזרם עבור קבוצת המכוניות ברצף:
resource "google_gke_hub_feature" "feature" { name = "clusterupgrade" location = "global" spec { clusterupgrade { upstream_fleets = ["SECOND_FLEET_PROJECT_ID"] post_conditions { soaking = "SOAK_TIME" } } } project = "THIRD_FLEET_PROJECT_ID" }מחליפים את
SECOND_FLEET_PROJECT_IDבמזהה הפרויקט של פרויקט המארח של הצי השני, ואתTHIRD_FLEET_PROJECT_IDבמזהה הפרויקט של פרויקט המארח של הצי.חוזרים על השלב הזה אם רוצים להוסיף צי רביעי או חמישי.
בדיקת הסטטוס של השקת תכונה
אפשר לבדוק את הסטטוס של רצף השקה באחת מהשיטות הבאות:
- אפשר לעקוב אחרי ייצוג חזותי של רצף השקה ב Cloud de Confiance מסוף (תצוגה מקדימה).
- כדי לבדוק את הסטטוס של רצף השקה, אפשר להשתמש ב-CLI של gcloud או ב-GKE Hub API.
כדי לראות את רצף ההשקה באחת מהשיטות הקודמות, צריך לוודא שיש לכם את תפקיד ה-IAM roles/gkehub.viewer לכל פרויקט של מארח צי, במיוחד אם הרצף כולל ציים בפרויקטים שונים. אם אין לכם את ההרשאות הנדרשות לפרויקט, תוצג שגיאה כשבודקים את הסטטוס של הרצף.
מעקב אחרי רצף השקה במסוף Cloud de Confiance
נכנסים לדף Rollout Sequencing במסוף Cloud de Confiance .
אפשר לראות את הרצף בקטע מעקב אחרי רצף ההשקה. אם לא מוצגת רצף השקה, עוברים לרצף השקה אחר או יוצרים רצף השקה אם עדיין לא עשיתם זאת.
איך משתמשים במסוף כדי לעקוב אחרי רצף השקה
בדף הזה אפשר לראות את רצף ההשקה שמשויך לצי המכשירים של הפרויקט. כדי לראות את התקדמות ההשקה של רצף ההפצה, אפשר לבצע את הפעולות הבאות:
- אפשר לראות את כל רצף ההשקה, או את הסטטוסים של צי רכבים וקלאסטרים ספציפיים בתוך צי הרכבים, וגם את משך הזמן בין צי רכבים אחד למשנהו. אפשר גם לראות את הרצף שבו אין שדרוג פעיל, אם רוצים לבדוק את ההגדרה של הרצף.
- מסננים לפי סוג השדרוג (שדרוג של רמת הבקרה או של הצומת) ולפי גרסה ספציפית (לדוגמה, 1.31.6-gke.500).
אתם יכולים לעקוב באופן ויזואלי אחר כל רצף ההשקה בזמן ש-GKE משדרג את כל האשכולות ברצף, ומאשר גרסה חדשה בסביבות לפני שמשדרג את האשכולות בסביבת הייצור. במהלך המעקב, אפשר לנהל את רצף ההשקה באמצעות ה-CLI של gcloud ולבצע שינויים לפי הצורך.
מעבר לרצף פריסה אחר
בדף הזה מוצגת רצף ההשקה אם הפרויקט הפעיל במסוףCloud de Confiance הוא פרויקט מארח של Fleet, שרשום לרצף השקה.
אם רוצים לראות רצף פריסה אחר, בוחרים פרויקט מארח של צי שמקושר לרצף פריסה אחר בכלי לבחירת פרויקטים בחלק העליון של הדף.
שימוש ב-CLI של gcloud
אפשר לבדוק את הסטטוס של רצף השקה, של צי ברצף או של אשכולות נפרדים בצי.
כדי לבדוק את הסטטוס של רצף השקה מבוסס-צי, מריצים את הפקודה הבאה:
gcloud container fleet clusterupgrade describe \ --show-linked-cluster-upgrade --project=FLEET_PROJECT_IDמחליפים את
FLEET_PROJECT_IDבמזהה הפרויקט המארח של כל צי בתוך הרצף. רשימה מלאה של הדגלים זמינה במאמר העזרgcloud container fleet clusterupgrade describe.כדי לבדוק את הסטטוס של צי אחד בלבד ברצף, מחליפים את הדגל
--show-linked-cluster-upgradeבדגל--show-cluster-upgradeבפקודה הקודמת.כדי לבדוק את הסטטוס של אשכולות נפרדים בצי, מריצים את הפקודה הבאה בפרויקט המארח של הצי ומעיינים בקטע
membershipStates:gcloud container fleet features describe clusterupgrade
בקטע הבא מפורטים נתוני הסטטוס בפלט שמתקבל.
מידע על הסטטוס של רצף השקה
כשבודקים את הסטטוס של השקת גרסה, אפשר לראות את ההתקדמות של כל קבוצה וכל אשכול בתוך הקבוצה.
בטבלה הבאה מפורטים הסטטוסים האפשריים של אשכול או קבוצה:
| סטטוס | לאשכול יחיד | לצי |
|---|---|---|
| לא כשיר | האשכול הזה לא עומד בדרישות לשדרוג | לפחות אחד מהאשכולות בקבוצה הזו לא עומד בדרישות לשדרוג הזה. |
| בהמתנה | השדרוג ממתין באשכול או בחלק ממאגרי הצמתים הרגילים או מקבוצות הצמתים שלו באשכול Autopilot. | השדרוג לא התחיל באף אחד מהאשכולות בקבוצה. |
| IN_PROGRESS | השדרוג מתבצע באשכול. | השדרוג התחיל לפחות באשכול אחד, אבל לא הסתיים בכל האשכולות. |
| השריה | השדרוג הסתיים באשכול, אבל לא הסתיים תהליך ההרצה שלו. | השדרוג הסתיים בכל האשכולות, אבל לא הסתיים תהליך ההרצה. |
| FORCED_SOAKING | השדרוג נמשך יותר מזמן השדרוג המקסימלי (30 ימים), ולכן נאלצנו להעביר אותו לשלב ההמתנה. השדרוג יכול להימשך באשכול. | השדרוג נמשך יותר מזמן השדרוג המקסימלי (30 ימים), ולכן נאלצנו להעביר אותו לשלב ההמתנה. השדרוג יכול להימשך באשכולות. |
| הפעולה הושלמה | השדרוג נחשב כ'הושלם', כלומר השדרוג הסתיים באשכול הזה. | השדרוג נחשב כ'הושלם' ומוכן לשימוש על ידי הקבוצה הבאה בשרשרת, כלומר השדרוג סיים את תקופת ההסתגלות. |
בפלט של הפקודות האלה, המאפיינים clusterUpgrade(s).spec ו-clusterUpgrade(s).state מכילים מידע נוסף על שדרוג האשכול, כמו זמן ההמתנה, ביטולים של שדרוג האשכול וסטטוס השדרוג.
ניהול רצף השקה
יש כמה דרכים לשלוט בשדרוגים אוטומטיים של אשכולות באמצעות רצף פריסה, והן מוסברות בקטעים הבאים.
שינוי תקופת ההרצה של קבוצה
אפשר לשנות את ברירת המחדל של זמן ההמתנה לקבוצה או לשנות את זמן ההמתנה לשדרוג של הקבוצה לגרסה ספציפית. הערך המקסימלי הוא 30 ימים.
עדכון זמן ההמתנה שמוגדר כברירת מחדל
אפשר לעדכן את זמן ההמתנה שמוגדר כברירת מחדל במסוף Cloud de Confiance (בגרסת Preview) או באמצעות gcloud CLI.
המסוף
נכנסים לדף Rollout Sequencing במסוף Cloud de Confiance .
אפשר לראות את הרצף בקטע מעקב אחרי רצף ההשקה. אם לא מוצגת רצף השקה, עוברים לרצף השקה אחר או יוצרים רצף השקה אם עדיין לא עשיתם זאת.
בגרף ההשקה, לוחצים על הרכיב זמן ההרצה אחרי הרכיב של צי המכשירים שרוצים לעדכן את זמן ההרצה שלו.
לוחצים על עריכת זמן ההשריה.
בקטע Set a new soak time (הגדרת תקופת המתנה חדשה), מזינים תקופת המתנה חדשה בשדות Days (ימים), Hours (שעות) ו-Minutes (דקות).
כדי לשמור את ההגדרות, לוחצים על שמירה.
gcloud
כדי לשנות את זמן ההמתנה שמוגדר כברירת מחדל לקבוצה, משתמשים בפקודות gcloud CLI מההוראות ליצירת רצף השקה, ומשמיטים את הדגלים להגדרת קבוצת המקור.
שינוי ברירת המחדל של זמן ההמתנה
אתם יכולים לשנות את משך תקופת ההרצה של גרסה ספציפית כך שיהיה שונה ממשך תקופת ההרצה שמוגדר כברירת מחדל לקבוצה. לדוגמה, אם כבר אישרתם גרסה חדשה ואתם מוכנים להתחיל בשדרוגים בקבוצה הבאה, אתם יכולים להגדיר את זמן ההרצה ל-0. אפשר להשתמש בו גם אם רוצים להקצות יותר זמן מהזמן שמוגדר כברירת מחדל כדי להכשיר גרסה ספציפית.
מכיוון שזמן ההמתנה מוגדר לכל קבוצה בנפרד, אם רוצים לשנות את זמן ההמתנה של קבוצות אחרות ברצף הזה, צריך לעדכן אותן באמצעות אותה פקודה, ולהחליף את שם הצי.
כדי לבצע את ההוראות בקטע הזה, צריך להחליף את המשתנים הבאים:
-
SOAK_TIME: משך הזמן להרצה של הגרסה החדשה לפני הפצתה לכלל המשתמשים, אם רוצים להשתמש בערך שונה מברירת המחדל (לדוגמה, 0d אם רוצים לדלג על משך הזמן להרצה של גרסה אחת). -
UPGRADE_NAME: סוג השדרוג,k8s_control_planeלשדרוגים של מישור הבקרה אוk8s_nodeלשדרוגים של הצומת.
VERSION: גרסת GKE שבה רוצים לשנות את ברירת המחדל של זמן ההמתנה אחרי הפריסה של הגרסה (לדוגמה, 1.25.2-gke.400) לקבוצה הזו.
gcloud
מריצים את הפקודה הבאה בפרויקט המארח של צי המכונות שבו רוצים לשנות את משך ההרצה שמשמש להשקת גרסה של גרסה ספציפית.
gcloud container fleet clusterupgrade update
--add-upgrade-soaking-override=SOAK_TIME \
--upgrade-selector=name=UPGRADE_NAME,version=VERSION
Terraform
כדי לשנות את זמן ההמתנה שמשמש להשקת גרסה של גרסה ספציפית, מוסיפים את בלוק gke_upgrades_overrides הבא להגדרות ב-Terraform בתוך הבלוק clusterupgrade:
gke_upgrade_overrides {
upgrade {
name = "UPGRADE_NAME"
version = "VERSION"
}
post_conditions {
soaking = "SOAK_TIME"
}
}
עדכון הקבוצות ברצף ההשקה
אפשר לעדכן רצף השקה קיים כדי להוסיף קבוצות לרצף, להסיר קבוצות מהרצף או לשנות את הסדר של הקבוצות ברצף. כדי לבצע את השינויים האלה, צריך לעדכן את השיוכים בין הקבוצות.
אפשר לבצע את השלבים האלה במסוף Cloud de Confiance (תצוגה מקדימה) או באמצעות gcloud CLI.
המסוף
נכנסים לדף Rollout Sequencing במסוף Cloud de Confiance .
אפשר לראות את הרצף בקטע מעקב אחרי רצף ההשקה. אם לא מוצגת רצף השקה, עוברים לרצף השקה אחר או יוצרים רצף השקה אם עדיין לא עשיתם זאת.
בתרשים ההשקה, לוחצים על הרכיבים של צי הרכבים הקיים ברצף. אחרי שלוחצים על הרכיבים האלה, אפשר לבצע חלק מהפעולות הבאות כדי לבצע את השינויים:
- לוחצים על הוספת צי רכבים במורד הזרם.
- לוחצים על הוספת צי של מכונות בשרתים במעלה הזרם.
- לוחצים על הסרת צי.
אפשר לבצע פעולות כמו:
- מוסיפים עוד צי בסוף רצף ההשקה על ידי הוספת צי במורד הזרם לצי האחרון ברצף.
- כדי להוסיף עוד צי לתחילת רצף ההשקה, מוסיפים צי במעלה הזרם לצי הראשון ברצף.
- כדי לשנות את הסדר של צי הרכבים ברצף ההשקה, מסירים את צי הרכבים ואז מוסיפים אותו מחדש עם צי רכבים שונה במעלה או במורד הזרם.
- מסירים את הצי הראשון ברצף ההשקה.
- מסירים את צי הרכבים האחרון ברצף ההשקה.
- הסרת צי הביניים ברצף ההשקה, אחרי הסרת הצי הראשון או האחרון ברצף.
gcloud
כדי להוסיף או לשנות צי upstream, משתמשים בפקודה gcloud container fleet clusterupgrade update עם הדגל --upstream-fleet. כדי להסיר צי של מכונות שרת במעלה הזרם, משתמשים בדגל --reset-upstream-fleet .
אפשר לבצע פעולות כמו:
- כדי להוסיף עוד צי לתחילת רצף ההשקה, מוסיפים צי במעלה הזרם לצי הראשון ברצף.
- כדי לשנות את הסדר של צי המכוניות ברצף ההשקה, משנים את השיוכים של צי המכוניות במעלה הזרם.
- מסירים את הצי הראשון ברצף ההשקה על ידי הסרת הצי במעלה הזרם של הצי השני.
עיכוב השלמת השקת הגרסה לקבוצה
אם אתם רוצים למנוע מקבוצה להשלים את ההשקה של גרסה חדשה באשכולות שלה באופן זמני, אתם יכולים להוסיף החרגה של תחזוקה לכל אחד מהאשכולות שלא שודרגו לגרסת היעד. הפעולה הזו יכולה להשהות את ההתקדמות של קבוצה מסוימת לזמן ההמתנה שלה או לקבוצה הבאה למשך עד 30 יום. אחרי 30 יום, הקבוצה תתחיל בתהליך השהייה.
אפשר גם לשנות את משך ההמתנה של הקבוצה ל-30 ימים כדי להאריך את משך ההמתנה של רצף ההשקה לפני המעבר לקבוצה הבאה.
אם אתם רוצים לדחות עוד יותר את תחילת השדרוגים לקבוצה הבאה, אתם יכולים להשתמש בהחרגות תחזוקה עבור האשכולות בקבוצה הבאה.
מחיקת רצף
כדי למחוק רצף, מסירים את השיוכים במעלה הזרם של כל אחת מהקבוצות, חוץ מהקבוצה הראשונה. לקבוצה הראשונה אין קבוצה במעלה הזרם.
אפשר לבצע את השלבים האלה במסוף Cloud de Confiance (תצוגה מקדימה) או באמצעות gcloud CLI.
המסוף
נכנסים לדף Rollout Sequencing במסוף Cloud de Confiance .
אפשר לראות את הרצף בקטע מעקב אחרי רצף ההשקה. אם לא מוצגת רצף השקה, עוברים לרצף השקה אחר או יוצרים רצף השקה אם עדיין לא עשיתם זאת.
בתרשים ההשקה, לוחצים על הרכיב של הצי האחרון.
לוחצים על הסרת צי.
כדי להסיר את הצי, לוחצים על הסרה.
חוזרים על שלושת השלבים הקודמים עד שנשאר רק הצי הראשון.
gcloud
מריצים את הפקודה הבאה בפרויקט המארח של כל אחת מהקבוצות ברצף ההשקה, למעט הקבוצה הראשונה:
gcloud container fleet clusterupgrade update --reset-upstream-fleet
פתרון בעיות
פתרון בעיות שקשורות לעמידה בדרישות להשקה
אם לכל האשכולות ברצף ההפצה אין את אותו יעד שדרוג, יכול להיות ש-GKE לא יוכל להמשיך בשדרוג האשכולות. אם קבוצה במעלה הזרם לא עומדת בדרישות של יעד שדרוג אחד כדי להעביר אותו לקבוצה במורד הזרם, לא ניתן לבצע שדרוגים אוטומטיים. בנוסף, שדרוגים אוטומטיים לא יכולים להתבצע אם אשכולות בקבוצת המקור עומדים בדרישות לשדרוג לא חוקי של אשכולות בקבוצת היעד.
כדי לבדוק אם יש בעיות בזכאות להשקה ברצף ההשקה, בודקים את הסטטוס של רצף ההשקה. אם קבוצה לא עומדת בדרישות, פועלים לפי ההוראות כדי לראות את הסטטוס של אשכולות נפרדים בקבוצה.
כדי לקדם באופן מיידי את השדרוגים של האשכולות, צריך להסיר את כל האשכולות עם סטטוס INELIGIBLE לפי ההוראות לקידום השקות שעומדות בחלק מהדרישות.
פתרון בעיות שקשורות לזכאות בקבוצה
בקבוצה, אם אשכול לא עומד בדרישות כי הוא בגרסה קודמת (לדוגמה, רוב האשכולות בקבוצה משודרגים מגרסה 1.23 לגרסה 1.24, ואשכול מסוים הוא בגרסה 1.22), אפשר לשדרג את האשכול לגרסה 1.24 באופן ידני כדי לפתור את אי ההתאמה בין הגרסאות.
בקבוצה, GKE מתעלם מקלאסטרים בגרסאות מאוחרות יותר מהגרסה שאליה מתבצע השדרוג האוטומטי. באשכולות האלה, השדרוגים לא נמנעים מהמשך התהליך לקבוצה הבאה בשרשרת.
תיקון הזכאות בין קבוצות
בין קבוצות, אם יש חוסר התאמה ביעדי השדרוג שבהם הקבוצה במורד הזרם נמצאת בגרסה חדשה יותר (לדוגמה, הקבוצה במעלה הזרם שודרגה מ-1.23 ל-1.24 והאשכולות בקבוצה במורד הזרם נמצאים בגרסה 1.25), אפשר לשדרג ידנית את האשכולות בקבוצה במעלה הזרם לגרסה 1.25 כדי לוודא שהשדרוגים יתבצעו.
אם יש אי התאמה בין קבוצות ביעדי השדרוג, והקבוצה במורד הזרם היא בגרסה מוקדמת יותר (לדוגמה, הקבוצה במעלה הזרם שודרגה מגרסה 1.24 לגרסה 1.25 והאשכולות בקבוצה במורד הזרם הם בגרסה 1.23), אפשר לשדרג ידנית את האשכולות בקבוצה במורד הזרם לגרסה 1.24 או לגרסה 1.25 כדי לוודא שהשדרוגים יתבצעו. אם GKE שדרג את קבוצת המקור לגרסה כלשהי שהקבוצה במורד הזרם עומדת בדרישות שלה, GKE ישדרג את האשכולות בקבוצה במורד הזרם לגרסת היעד הזו. במצב כזה, לא צריך לשדרג את האשכולות באופן ידני כדי לבטל את החסימה של הרצף. מידע נוסף מופיע במאמר הקבוצה ברמת ההיררכיה הגבוהה יותר עומדת בדרישות לכמה יעדי שדרוג עבור הקבוצה ברמת ההיררכיה הנמוכה יותר.
העברה של השקות שמתאימות באופן חלקי
אם שדרוגי אשכול בקבוצה לא יסתיימו בגלל בעיות בזמינות לפריסה (לדוגמה, אי התאמות בין גרסאות בקבוצה), אפשר להסיר מקבוצה אשכולות שלא עומדים בדרישות לשדרוג לגרסת היעד של הקבוצה, כדי להשלים את פריסת הגרסה ולהתחיל את תקופת ההרצה או לעבור לקבוצה הבאה ברצף הפריסה. אפשר גם להסיר אשכול מקבוצה מסיבות אחרות, למשל אם השימוש באשכול הזה כבר לא קשור לשימוש באשכולות האחרים בקבוצה.
פועלים לפי ההוראות כדי לבטל את הרישום של אשכול ב-Fleet.
אחרי שתסירו את כל האשכולות שמונעים את השלמת הפריסה של גרסת הקבוצה, הפריסה של גרסת הקבוצה תושלם. כדי לוודא זאת, פועלים לפי ההוראות לבדיקת הסטטוס של השקת גרסה.