במאמר הזה מוסבר איך לנהל שדרוגים של אשכולות GKE באמצעות רצף השקה. מידע נוסף על התכונה הזו זמין במאמר מידע על שדרוגי אשכולות עם רצף השקה.
אם אתם מגדירים סביבה בפעם הראשונה, השתמשו ברצף השקה עם שלבים בהתאמה אישית.
לפני שמתחילים
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
- מוודאים שיש לכם אשכולות קיימים במצב Autopilot או במצב Standard. כדי ליצור אשכול חדש, קראו את המאמר יצירת אשכול Autopilot.
- מוודאים שהפעלתם את ממשקי ה-API הנדרשים ל-Fleet. כדי ליצור כל סוג של רצף השקה, צריך להפעיל את ממשקי ה-API האלה בפרויקטים המארחים של ה-fleet.
- אם אתם משתמשים ב-Terraform, ודאו שאתם משתמשים בגרסה 5.13.0 ואילך של הספק
google.
התפקידים הנדרשים
כדי ליצור או לשנות רצף השקה, צריך לקבל את התפקיד roles/gkehub.editor ב-IAM בכל פרויקט ברצף ההשקה. התפקיד עריכת Fleet (לשעבר עריכת GKE Hub) נותן את ההרשאות gkehub.features.create ו-gkehub.fleet.update, שנדרשות כדי לגשת למשאבים שקשורים ל-Fleet בין פרויקטים ולשנות אותם. התפקיד הזה נותן את ההרשאות שצריך כדי להגדיר את אסטרטגיית השדרוג, לגשת למשאבים הרלוונטיים ולשנות אותם, ולהתחיל ולנהל את תהליך ההשקה.
כדי לרשום אשכולות ל-fleet או לבטל את הרישום שלהם, צריך את כל ההרשאות הבאות:
- הרשאות לרישום אשכולות בפרויקטים המארחים של ה-Fleet.
- הרשאות אדמין של אשכול לכל אשכול GKE שרוצים לרשום.
- הרשאות לרישום אשכולות בפרויקטים שונים לכל אשכול GKE שצריך לרשום ל-fleet בפרויקט אחר.
למידע נוסף על תפקידי ה-IAM עם הרשאות מינימליות שנדרשים למשימות שונות, קראו את המאמר קבלת הצעות לתפקידים מוגדרים מראש בעזרת Gemini.
הגדרת רצף השקה
במאמר הזה מוסבר איך ליצור רצף השקה באמצעות קבוצות של אשכולות שמאורגנות לפי ציי מכונות.
אתם יכולים ליצור רצף של עד חמש קבוצות של אשכולות, ולבחור את משך הזמן של בדיקת ההרצה שאתם רוצים אחרי ששדרוגי האשכולות הושלמו בקבוצה (עד 30 יום). אפשר לכלול גם אשכולות במצב Autopilot וגם אשכולות במצב Standard.
כדי ליצור רצף השקה, צריך לארגן את האשכולות בקבוצות של Fleet. בדוגמה של בנק קהילתי מוסבר איך לארגן את האשכולות. אחרי שמארגנים את האשכולות בקבוצות, יוצרים רצף השקה על ידי הגדרת הקשרים של הקבוצה במעלה הזרם וזמן הטבילה של כל קבוצה. בסדרת השקות, המונח "במעלה הזרם" מתייחס לקבוצה הקודמת, והמונח "במורד הזרם" מתייחס לקבוצה הבאה.
ארגון האשכולות בקבוצות
ברצף פריסה, כל האשכולות בכל הקבוצות צריכים להיות רשומים לאותו ערוץ הפצה ולהיות באותה גרסה משנית. אם לא עומדים בדרישות האלה ויש חוסר התאמה בין גרסאות של אשכולות, יכולות להיות בעיות בהשקת הגרסה. מידע נוסף זמין במאמר דרישות הסף להשקה מבוססת-צי.
אם כבר ארגנתם את האשכולות ב-fleet, אתם יכולים לדלג על השלבים הבאים ולעבור ליצירת רצף השקה.
מקבצים את האשכולות לציים. אתם יכולים לארגן את האשכולות לפי סביבות פריסה, כמו בדיקה, Staging וייצור, כפי שמוצג ברצף הפריסה לדוגמה שמבוסס על צי.
רושמים כל אשכול ב-fleet בהתאם לקיבוץ שבחרתם.
יצירת רצף השקה
רצף ההשקה מאורגן כרשימה מקושרת עם עד חמישה רכיבים.
כשיוצרים רצף השקה, מגדירים את המאפיינים הבאים לכל צי של אשכולות:
- קבוצת Upstream: קבוצת המכשירים שמאשרת גרסאות חדשות לקבוצת Downstream. לא מגדירים קבוצה קודמת לקבוצה הראשונה ברצף.
זמן טבילה: זמן הטבילה של קבוצה הוא הזמן בין סיום השדרוגים (או שההשקה נמשכה 30 יום) לבין הזמן שבו אפשר להתחיל את השדרוגים בקבוצה הבאה בתור. מידע נוסף זמין במאמר איך פועלת בדיקת התאמה של גרסה ברצף השקה.
המסוף
נכנסים לדף Rollout Sequencing במסוף Google Cloud .
לוחצים על יצירת רצף השקה.
בחלונית Create a rollout sequence, בוחרים את שני הציים הראשונים ברצף:
- בקטע 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 בזמן הטבילה של ה-fleet שמעדכנים.
יוצרים רצף השקה:
מגדירים את זמן ההמתנה לצי הראשון ברצף:
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במזהה הפרויקט המארח של הצי.אופציונלי: אם רוצים שיהיו יותר משני ציים ברצף ההשקה, מגדירים את הצי במעלה הזרם לציים הבאים ברצף.
הפקודה הבאה מגדירה את הצי במעלה הזרם לצי השלישי ברצף. כדי להוסיף צי רביעי או חמישי, חוזרים על השלב הזה לפי אותה תבנית, ומחליפים את המשתנים במזהי הפרויקטים של הפרויקטים המארחים של הציים הרלוונטיים (הצי הקודם והצי הבא).
מגדירים את הצי הקודם לצי הבא ברצף:
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 בזמן הטבילה של ה-fleet שמעדכנים.
יוצרים רצף השקה:
כדי להגדיר את זמן ההמתנה של הצי הראשון ברצף, מוסיפים את הבלוק הבא להגדרות ב-Terraform:
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במזהה הפרויקט המארח של הצי.חוזרים על השלב הזה אם רוצים להוסיף צי רביעי או חמישי.
בדיקת הסטטוס של רצף השקה
כדי לבדוק את הסטטוס של רצף השקה, אפשר להשתמש באחת מהשיטות הבאות:
- במסוףGoogle Cloud אפשר לראות ייצוג חזותי של רצף ההשקה.
- כדי לבדוק את הסטטוס של רצף ההשקה, משתמשים ב-CLI של gcloud או ב-GKE Hub API.
כדי לצפות ברצף ההשקה בכל אחת מהשיטות שלמעלה, ודאו שיש לכם את תפקיד ה-IAM roles/gkehub.viewer בכל פרויקט מארח של צי, במיוחד אם הרצף כולל ציים בפרויקטים שונים. אם אין לכם את ההרשאות הנדרשות לפרויקט, תופיע הודעת שגיאה כשתבדקו את הסטטוס של הרצף.
מעקב אחרי רצף השקה במסוף Google Cloud
נכנסים לדף Rollout Sequencing במסוף Google Cloud .
אפשר לראות את הרצף בקטע רצף ההשקה. אם לא מופיע רצף השקה, עוברים לרצף השקה אחר או יוצרים רצף השקה אם עדיין לא עשיתם את זה.
איך משתמשים במסוף כדי לעקוב אחרי רצף ההשקה
בדף הזה אפשר לראות את רצף ההשקה שמשויך ל-fleet של הפרויקט. כדי לראות את ההתקדמות של רצף ההשקה:
- אתם יכולים לראות את כל רצף ההשקה, את הסטטוסים של כל צי וכל אשכול בתוך הציים, ואת זמן הטבילה בין הציים. אתם יכולים גם לראות את הרצף שבו אין שדרוג פעיל, אם אתם רוצים לבדוק את ההגדרות של הרצף.
- מסננים לפי סוג השדרוג (שדרוג של מישור הבקרה או של הצומת) ולפי גרסה ספציפית (לדוגמה, 1.31.6-gke.500).
אתם יכולים לעקוב באופן חזותי אחרי כל רצף ההשקה בזמן ש-GKE משדרג את כל האשכולות ברצף, ולאשר גרסה חדשה בסביבות שונות לפני שדרוג האשכולות בסביבת הייצור. בזמן המעקב, אתם יכולים לנהל את רצף ההשקה ולבצע שינויים לפי הצורך.
מעבר לרצף השקה אחר
בדף Google Cloud במסוף מוצג רצף ההשקה אם הפרויקט הפעיל הוא פרויקט מארח של צי שרשום לרצף השקה.
כדי לראות רצף השקה אחר, משתמשים בכלי לבחירת פרויקטים בחלק העליון של הדף במסוף Google Cloud ובוחרים פרויקט מארח של 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.כדי לבדוק את הסטטוס של אשכולות ספציפיים ב-fleet, מריצים את הפקודה הבאה בפרויקט המארח של ה-fleet ובודקים את הקטע
membershipStates:gcloud container fleet features describe clusterupgrade
בקטע הבא מתוארים פרטי הסטטוס בפלט שמתקבל.
מידע על הסטטוס של רצף השקה
כשבודקים את הסטטוס של השקת גרסה, אפשר לראות את ההתקדמות של כל קבוצה ואשכול בתוך הקבוצה.
בטבלה הבאה מפורטים הסטטוסים האפשריים של אשכול או קבוצה:
| סטטוס | לאשכול יחיד | לצי רכבים |
|---|---|---|
| לא עומד בדרישות | האשכול הזה לא עומד בדרישות לשדרוג הזה | אשכול אחד או יותר בקבוצה הזו לא עומדים בדרישות לשדרוג הזה. |
| בהמתנה | השדרוג ממתין באשכול או בחלק ממאגרי הצמתים הרגילים או מקבוצות הצמתים באשכול Autopilot. | השדרוג לא התחיל באף אחד מהאשכולות בקבוצה. |
| IN_PROGRESS | השדרוג מתבצע באשכול. | השדרוג התחיל באשכול אחד לפחות, אבל לא הסתיים בכל האשכולות. |
| השריה | השדרוג הסתיים באשכול, אבל תקופת ההרצה עדיין לא הסתיימה. | השדרוג הסתיים בכל האשכולות, אבל תקופת ההרצה עדיין לא הסתיימה. |
| FORCED_SOAKING | השדרוג נמשך יותר מהזמן המקסימלי לשדרוג (30 ימים), ולכן אילצנו אותו להיכנס לשלב ההרצה. השדרוג יכול להמשיך באשכול. | השדרוג נמשך יותר מהזמן המקסימלי לשדרוג (30 ימים), ולכן אילצנו אותו להיכנס לשלב ההרצה. השדרוג יכול להמשיך באשכולות. |
| הפעולה הושלמה | השדרוג נחשב כ "בוצע", כלומר השדרוג סיים את תקופת ההרצה באשכול הזה. | השדרוג נחשב כ "בוצע" ומוכן לשימוש על ידי הקבוצה הבאה בתור, כלומר השדרוג סיים את תקופת ההרצה. |
בפלט של הפקודות האלה, המאפיינים clusterUpgrade(s).spec ו-clusterUpgrade(s).state מכילים מידע נוסף על שדרוג האשכול, כמו זמן הטבילה, שינויים בשדרוג האשכול וסטטוס השדרוג.
ניהול רצף השקה
יש כמה דרכים לשלוט בשדרוגים אוטומטיים של אשכולות באמצעות רצף השקה, כפי שמוסבר בקטעים הבאים.
שינוי זמן ההשהיה של קבוצה
אתם יכולים לשנות את זמן הטבילה שמוגדר כברירת מחדל לקבוצה, או לשנות את זמן הטבילה כשמשדרגים את הקבוצה לגרסה ספציפית. הערך המקסימלי הוא 30 ימים.
עדכון זמן הטבילה שמוגדר כברירת מחדל
אפשר לעדכן את זמן ההשהיה שמוגדר כברירת מחדל במסוף Google Cloud או באמצעות ה-CLI של gcloud.
המסוף
נכנסים לדף Rollout Sequencing במסוף Google Cloud .
אפשר לראות את הרצף בקטע רצף ההשקה. אם לא מופיע רצף השקה, עוברים לרצף השקה אחר או יוצרים רצף השקה אם עדיין לא עשיתם את זה.
ב-Rollout graph, לוחצים על הרכיב Soak time אחרי הרכיב של ה-fleet שבו רוצים לעדכן את זמן הטבילה.
לוחצים על Edit soak time.
בקטע Set a new soak time, מזינים זמן השהיה חדש בשדות Days, Hours ו-Minutes.
כדי לשמור את ההגדרות, לוחצים על שמירה.
gcloud
כדי לשנות את זמן הטבילה שמוגדר כברירת מחדל לקבוצה, משתמשים בפקודות של ה-CLI של gcloud שמופיעות בהוראות ליצירת רצף השקה, ומשמיטים את הדגלים להגדרת הקבוצה במעלה הזרם.
שינוי זמן הטבילה שמוגדר כברירת מחדל
אתם יכולים לשנות את זמן ההמתנה של השקת גרסה ספציפית, כך שיהיה שונה מזמן ההמתנה שמוגדר כברירת מחדל לקבוצה. לדוגמה, אם כבר אישרתם גרסה חדשה ואתם מוכנים להתחיל את השדרוגים בקבוצה הבאה, אתם יכולים להגדיר את זמן הטבילה ל-0. אתם יכולים להשתמש בו גם אם אתם רוצים יותר זמן מזמן הטבילה שמוגדר כברירת מחדל כדי להכשיר גרסה ספציפית.
זמן הטבילה מוגדר לכל קבוצה בנפרד. אם אתם רוצים לשנות את זמן הטבילה של קבוצות אחרות ברצף, אתם צריכים לעדכן אותן באמצעות אותה פקודה, אבל להחליף את שם ה-fleet.
בהוראות שבקטע הזה, צריך להחליף את המשתנים הבאים:
-
SOAK_TIME: זמן הטבילה שבו רוצים להשתמש במקום ברירת המחדל (לדוגמה, "0d" אם רוצים לדלג על זמן הטבילה בהשקה של גרסה אחת). -
UPGRADE_NAME: סוג השדרוג,k8s_control_planeלשדרוגים של מישור הבקרה אוk8s_nodeלשדרוגים של צמתים.
VERSION: גרסת GKE שבה רוצים לשנות את זמן הטבילה שמוגדר כברירת מחדל אחרי שהגרסה (לדוגמה, 1.25.2-gke.400) הושקה לקבוצה הזו.
gcloud
מריצים את הפקודה הבאה בפרויקט המארח של ה-fleet שבו רוצים לשנות את זמן הטבילה שמשמש להשקת גרסה ספציפית.
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"
}
}
עדכון הקבוצות ברצף ההשקה
אתם יכולים לעדכן רצף השקה קיים כדי להוסיף, להסיר או לשנות את סדר הקבוצות ברצף. כדי לבצע את השינויים האלה, צריך לעדכן את השיוכים בין הקבוצות.
אפשר לבצע את השלבים האלה במסוף Google Cloud או באמצעות ה-CLI של gcloud.
המסוף
נכנסים לדף Rollout Sequencing במסוף Google Cloud .
אפשר לראות את הרצף בקטע רצף ההשקה. אם לא מופיע רצף השקה, עוברים לרצף השקה אחר או יוצרים רצף השקה אם עדיין לא עשיתם את זה.
ב-Rollout graph, לוחצים על הרכיבים של הציים הקיימים ברצף. אחרי שלוחצים על הרכיבים האלה, אפשר לבצע חלק מהפעולות הבאות כדי לערוך את השינויים:
- לוחצים על הוספת צי במורד הזרם.
- לוחצים על הוספת צי במעלה הזרם.
- לוחצים על הסרת הצי.
אתם יכולים לבצע פעולות כמו:
- כדי להוסיף עוד צי לסוף של רצף ההשקה, מוסיפים צי במורד הזרם לצי האחרון ברצף.
- כדי להוסיף עוד צי לתחילת רצף ההשקה, מוסיפים צי במעלה הזרם לצי הראשון ברצף.
- כדי לשנות את הסדר של הציים ברצף ההשקה, מסירים את הציים ואז מוסיפים אותם בחזרה עם צי אחר במעלה הזרם או במורד הזרם.
- מסירים את הצי הראשון ברצף ההשקה.
- מסירים את הצי האחרון ברצף ההשקה.
- להסיר את הצי האמצעי ברצף ההשקה, אחרי שמסירים את הצי הראשון או האחרון ברצף.
gcloud
כדי להוסיף או לשנות ציים במעלה הזרם, משתמשים בפקודה gcloud container fleet clusterupgrade update עם הדגל --upstream-fleet. כדי להסיר צי במעלה הזרם, משתמשים בדגל --reset-upstream-fleet.
אתם יכולים לבצע פעולות כמו:
- כדי להוסיף עוד צי לתחילת רצף ההשקה, מוסיפים צי במעלה הזרם לצי הראשון ברצף.
- כדי לשנות את הסדר של קבוצות המכשירים ברצף ההשקה, משנים את השיוך של קבוצות המכשירים במעלה הזרם.
- מסירים את הצי הראשון ברצף ההשקה על ידי הסרת הצי במעלה הזרם של הצי השני.
דחיית ההשלמה של השקת הגרסה של הקבוצה
אם אתם צריכים למנוע באופן זמני מקבוצה להשלים את ההשקה של גרסה חדשה לאשכולות שלה, אתם יכולים להוסיף החרגה מתחזוקה לכל אחד מהאשכולות שלא שודרגו לגרסת היעד. ההשהיה יכולה להימשך עד 30 יום, ובמהלכה הקבוצה לא תמשיך לזמן הטבילה או לקבוצה הבאה בתור. אחרי 30 יום, הקבוצה תתחיל את תקופת ההרצה.
אפשר גם לשנות את זמן הטבילה של הקבוצה הזו ל-30 ימים, כדי להאריך ככל האפשר את משך ההמתנה של רצף ההשקה לפני המעבר לקבוצה הבאה.
אם אתם צריכים לדחות עוד יותר את תחילת השדרוגים של הקבוצה הבאה, אתם יכולים להשתמש בהחרגות תחזוקה לאשכולות בקבוצה הבאה.
מחיקת רצף
כדי למחוק רצף, מסירים את השיוכים במעלה הזרם של כל אחת מהקבוצות, חוץ מהקבוצה הראשונה. לקבוצה הראשונה אין קבוצה במעלה הזרם.
אפשר לבצע את השלבים האלה במסוף Google Cloud או באמצעות ה-CLI של gcloud.
המסוף
נכנסים לדף Rollout Sequencing במסוף Google Cloud .
אפשר לראות את הרצף בקטע רצף ההשקה. אם לא מופיע רצף השקה, עוברים לרצף השקה אחר או יוצרים רצף השקה אם עדיין לא עשיתם את זה.
בתרשים ההשקה, לוחצים על הרכיב של הצי האחרון.
לוחצים על הסרת הצי.
כדי להסיר את הצי, לוחצים על הסרה.
חוזרים על שלושת השלבים הקודמים עד שנשאר רק הצי הראשון.
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.
אחרי שתסירו את כל האשכולות שמונעים את השלמת ההשקה של גרסת הקבוצה, ההשקה של גרסת הקבוצה תושלם. כדי לוודא שהגרסה הושקה, פועלים לפי ההוראות במאמר בדיקת הסטטוס של השקת גרסה.