במסמך הזה מוסבר איך לנהל שדרוגים של אשכולות GKE באמצעות רצף פריסה. מידע נוסף על שדרוג אשכולות עם פריסה מדורגת
אם אתם מגדירים סביבה בפעם הראשונה, כדאי להשתמש בהשקה מדורגת עם שלבים בהתאמה אישית.
לפני שמתחילים
-
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud init - מוודאים שיש לכם אשכולות קיימים ב-Autopilot או ב-Standard. כדי ליצור אשכול חדש, אפשר לעיין במאמר בנושא יצירת אשכול Autopilot.
- מוודאים שהפעלתם את ממשקי ה-API הנדרשים לציים. כדי ליצור רצף השקה מכל סוג, צריך להפעיל את ממשקי ה-API האלה בפרויקטים המארחים של ה-fleet.
- אם משתמשים ב-Terraform, צריך לוודא שמשתמשים בגרסה 5.13.0 ואילך של ספק
google.
התפקידים הנדרשים
כדי ליצור או לשנות רצף השקה, צריך לקבל את תפקיד ה-IAM roles/gkehub.editor בכל פרויקט ברצף ההשקה. התפקיד Fleet Editor (לשעבר GKE Hub Editor) מספק את ההרשאות gkehub.features.create ו-gkehub.fleet.update, שנדרשות כדי לגשת למשאבים שקשורים ל-Fleet ולשנות אותם בין פרויקטים. התפקיד הזה מספק את ההרשאות הנדרשות להגדרת אסטרטגיית השדרוג, לגישה למשאבים הרלוונטיים ולשינוי שלהם, ולהתחלת תהליך ההשקה וניהולו.
אם אתם צריכים לרשום אשכולות ל-Fleet או לבטל את הרישום שלהם, אתם צריכים את כל ההרשאות הבאות:
- הרשאות לרישום אשכולות בפרויקטים המארחים של ה-Fleet.
- הרשאות אדמין באשכול לכל אשכול GKE שרוצים לרשום.
- הרשאות לרישום אשכולות בפרויקטים שונים לכל אשכול GKE שצריך לרשום ב-fleet בפרויקט אחר.
במאמר קבלת הצעות לתפקידים מוגדרים מראש בעזרת Gemini מוסבר איך מקבלים מידע נוסף על תפקידי IAM עם הרשאות מינימליות שנדרשים למשימות שונות.
הגדרת רצף השקה
במאמר הזה מוסבר איך ליצור רצף השקה באמצעות קבוצות של אשכולות שמאורגנות לפי ציים.
אפשר ליצור רצף של עד חמש קבוצות של אשכולות, ולבחור את משך בדיקת העומס שרוצים אחרי ששדרוגי האשכולות מסתיימים בקבוצה (עד 30 ימים). אפשר לכלול גם אשכולות במצב Autopilot וגם אשכולות במצב Standard.
כדי ליצור רצף השקה, צריך לארגן את האשכולות בקבוצות של ציוד. הנחיות לארגון האשכולות מופיעות בדוגמה של בנק הקהילה. אחרי שמארגנים את האשכולות בקבוצות, יוצרים רצף השקה על ידי הגדרת קשרי הגומלין של הקבוצות במעלה הזרם וזמן הטבילה של כל קבוצה. בסדרת השקות, המונח "במעלה הזרם" מתייחס לקבוצה הקודמת, והמונח "במורד הזרם" מתייחס לקבוצה הבאה.
ארגון האשכולות בקבוצות
בפריסה מדורגת, כל האשכולות בכל הקבוצות צריכים להיות רשומים לאותו ערוץ הפצה ולהיות באותו גרסה משנית. אם לא עומדים בדרישות האלה ויש פערים בין הגרסאות של האשכולות, יכולות להיות בעיות בהשקת הגרסה. מידע נוסף זמין במאמר דרישות הסף להשקה מבוססת-צי.
אם כבר ארגנתם את האשכולות שלכם בציים, אתם יכולים לדלג על השלבים הבאים ולעבור אל יצירת רצף פריסה.
מקבצים את האשכולות לציים. אתם יכולים לארגן את האשכולות לפי סביבות פריסה כמו בדיקה, Staging וייצור, כמו שמוצג בדוגמה לרצף של השקת תכונות שמבוססת על צי.
רושמים כל אשכול ב-fleet בהתאם לקיבוץ שבחרתם.
יצירת רצף השקה
רצף ההשקה מאורגן כרשימה מקושרת עם עד חמישה רכיבים.
כשיוצרים רצף השקה, מגדירים את המאפיינים הבאים לכל Fleet של אשכולות:
- קבוצת Upstream: קבוצת ה-Fleet של Upstream, שמאשרת גרסאות חדשות עבור קבוצת ה-Fleet של Downstream. לא מגדירים קבוצה במעלה הזרם לקבוצה הראשונה ברצף.
זמן טבילה: זמן הטבילה של קבוצה הוא הזמן שעובר בין סיום השדרוגים (או אחרי 30 יום של השקה) לבין המועד שבו אפשר להתחיל את השדרוגים בקבוצה הבאה בתור. איך פועלת בדיקת התאמה של גרסה ברצף השקה
המסוף
נכנסים לדף Rollout Sequencing במסוף Cloud de Confiance .
לוחצים על יצירת רצף השקה.
בחלונית יצירת רצף השקה, בוחרים את שני צי הרכבים הראשונים ברצף:
- בקטע Fleet 1, בוחרים את הצי הראשון ברצף.
- בקטע Soak time for upstream fleet (זמן ההמתנה של צי המכונות במעלה הזרם), מגדירים את זמן ההמתנה של צי המכונות הראשון באמצעות השדות Days (ימים), Hours (שעות) ו-Minutes (דקות).
- בקטע Fleet 2, בוחרים את הצי השני ברצף.
- לוחצים על יצירה.
אופציונלי: אם רוצים להגדיר שלושה או יותר צי של מכשירים ברצף ההשקה הזה, מבצעים את השלבים הבאים:
- בתרשים ההשקה, לוחצים על הרכיב של צי הרכבים השני.
- לוחצים על הוספת צי רכבים במורד הזרם.
- בקטע זמן טבילה עבור Fleet במעלה הזרם, מגדירים את זמן הטבילה של ה-Fleet השני באמצעות השדות ימים, שעות ו-דקות.
- בקטע 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במזהה הפרויקט המארח של Fleet.מגדירים את קבוצת המכשירים הראשונה ואת זמן ההמתנה לקבוצת המכשירים השנייה ברצף:
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במזהה הפרויקט של פרויקט המארח של ה-Fleet הראשון, ואתSECOND_FLEET_PROJECT_IDבמזהה הפרויקט של פרויקט המארח של ה-Fleet.אופציונלי: אם רוצים להשתמש ביותר משני ציים ברצף השקה, מגדירים את הצי במעלה הזרם עבור הציים הבאים ברצף.
הפקודה הבאה מגדירה את צי השרתים במעלה הזרם עבור צי השרתים השלישי ברצף. אם רוצים להוסיף צי רביעי או חמישי, חוזרים על השלב הזה ופועלים לפי אותו דפוס כדי להחליף את המשתנים במזהי הפרויקטים של המארחים של הציים הרלוונטיים (הצי הקודם והצי הבא).
מגדירים את צי הרכבים שלמעלה בשביל צי הרכבים הבא ברצף:
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 כדי להגדיר את זמן הטבילה ל-Fleet הראשון ברצף:
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במזהה הפרויקט המארח של Fleet.מוסיפים את הבלוק הבא להגדרות 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במזהה הפרויקט של פרויקט המארח של ה-Fleet הראשון, ואתSECOND_FLEET_PROJECT_IDבמזהה הפרויקט של פרויקט המארח של ה-Fleet.אופציונלי: אם רוצים להגדיר שלוש קבוצות של מכוניות ברצף השקה, מוסיפים את הבלוק הבא להגדרות של 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במזהה הפרויקט של פרויקט המארח של הצי.חוזרים על השלב הזה אם רוצים להוסיף Fleet רביעי או חמישי.
בדיקת הסטטוס של רצף השקה
כדי לבדוק את הסטטוס של רצף השקה, אפשר להשתמש באחת מהשיטות הבאות:
- מעקב אחרי ייצוג חזותי של רצף השקה במסוף Cloud de Confiance (תצוגה מקדימה).
- כדי לבדוק את הסטטוס של רצף השקה, אפשר להשתמש ב-CLI של gcloud או ב-GKE Hub API.
כדי לראות את רצף ההשקה באחת מהשיטות הקודמות, צריך לוודא שיש לכם את תפקיד ה-IAM roles/gkehub.viewer לכל פרויקט של מארח Fleet, במיוחד אם הרצף כולל Fleet בפרויקטים שונים. אם אין לכם את ההרשאות הנדרשות לפרויקט, תופיע הודעת שגיאה כשתבדקו את הסטטוס של הרצף.
מעקב אחרי רצף ההשקה במסוף Cloud de Confiance
נכנסים לדף Rollout Sequencing במסוף Cloud de Confiance .
אפשר לראות את הרצף בקטע מעקב אחרי רצף ההשקה. אם לא מופיע רצף השקה, עוברים לרצף השקה אחר או יוצרים רצף השקה אם עדיין לא עשיתם את זה.
איך משתמשים במסוף כדי לעקוב אחרי רצף השקה
בדף הזה אפשר לראות את רצף ההשקה שמשויך ל-Fleet של הפרויקט. כדי לראות את ההתקדמות של רצף ההשקה:
- אפשר לראות את כל רצף ההשקה, או את הסטטוסים של צי רכבים ספציפיים ושל אשכולות בתוך הציים האלה, וגם את זמן ההמתנה בין הציים. אפשר גם לראות את הרצף שבו אין שדרוג פעיל, אם רוצים לבדוק את ההגדרה של הרצף.
- אפשר לסנן לפי סוג השדרוג (שדרוג של מישור הבקרה או של הצומת) ולפי גרסה ספציפית (למשל, 1.31.6-gke.500).
אתם יכולים לעקוב באופן חזותי אחרי כל רצף ההשקה בזמן ש-GKE משדרג את כל האשכולות ברצף, ולאשר גרסה חדשה בסביבות שונות לפני שאתם משדרגים את האשכולות בסביבת הייצור. במהלך המעקב, אפשר לנהל את רצף ההשקה באמצעות ה-CLI של gcloud ולבצע שינויים לפי הצורך.
מעבר לרצף פריסה אחר
בדף הזה מוצג רצף ההשקה אם הפרויקט הפעיל במסוףCloud de Confiance הוא פרויקט מארח של Fleet, שרשום לרצף השקה.
כדי לראות רצף פריסה אחר, בוחרים פרויקט מארח של Fleet שמקושר לרצף פריסה אחר בכלי לבחירת פרויקטים בחלק העליון של הדף.
שימוש ב-CLI של gcloud
אתם יכולים לבדוק את הסטטוס של רצף השקה, של צי ברצף או של אשכולות ספציפיים בצי.
כדי לבדוק את הסטטוס של רצף פריסה מבוסס-צי, מריצים את הפקודה הבאה:
gcloud container fleet clusterupgrade describe \ --show-linked-cluster-upgrade --project=FLEET_PROJECT_IDמחליפים את
FLEET_PROJECT_IDבמזהה הפרויקט המארח של כל Fleet ברצף. רשימה מלאה של הדגלים מופיעה במאמר העזרה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 ימים.
עדכון זמן ההמתנה שמוגדר כברירת מחדל
אפשר לעדכן את זמן הטבילה שמוגדר כברירת מחדל במסוף Cloud de Confiance (בגרסת טרום-השקה) או באמצעות ה-CLI של gcloud.
המסוף
נכנסים לדף Rollout Sequencing במסוף Cloud de Confiance .
אפשר לראות את הרצף בקטע מעקב אחרי רצף ההשקה. אם לא מוצגת רצף השקה, עוברים לרצף השקה אחר או יוצרים רצף השקה אם עדיין לא עשיתם זאת.
ב-Rollout graph, לוחצים על הרכיב Soak time אחרי הרכיב של ה-fleet שבו רוצים לעדכן את זמן הטבילה.
לוחצים על עריכת זמן ההשריה.
בקטע 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"
}
}
עדכון הקבוצות ברצף ההשקה
אתם יכולים לעדכן רצף פריסה קיים כדי להוסיף קבוצות לרצף, להסיר קבוצות ממנו או לשנות את הסדר של הקבוצות ברצף. כדי לבצע את השינויים האלה, צריך לעדכן את השיוכים בין הקבוצות.
אפשר לבצע את השלבים האלה במסוף Cloud de Confiance (תצוגה מקדימה) או באמצעות ה-CLI של gcloud.
המסוף
נכנסים לדף Rollout Sequencing במסוף Cloud de Confiance .
אפשר לראות את הרצף בקטע מעקב אחרי רצף ההשקה. אם לא מוצגת רצף השקה, עוברים לרצף השקה אחר או יוצרים רצף השקה אם עדיין לא עשיתם זאת.
ב-Rollout graph, לוחצים על הרכיבים של הציים הקיימים ברצף. אחרי שלוחצים על הרכיבים האלה, אפשר לבצע חלק מהפעולות הבאות כדי לבצע את השינויים:
- לוחצים על הוספת צי רכבים במורד הזרם.
- לוחצים על הוספת צי במעלה הזרם.
- לוחצים על הסרת צי.
אפשר לבצע פעולות כמו:
- כדי להוסיף עוד צי לסוף של רצף ההשקה, מוסיפים צי במורד הזרם לצי האחרון ברצף.
- כדי להוסיף עוד Fleet לתחילת רצף ההשקה, מוסיפים Fleet במעלה הזרם ל-Fleet הראשון ברצף.
- כדי לשנות את הסדר של צי הרכבים ברצף ההשקה, צריך להסיר את צי הרכבים ואז להוסיף אותו מחדש עם צי רכבים שונה במעלה או במורד הזרם.
- מסירים את הצי הראשון ברצף ההשקה.
- מסירים את הצי האחרון ברצף ההשקה.
- להסיר את צי הרכבים האמצעי ברצף ההשקה, אחרי שמסירים את צי הרכבים הראשון או האחרון ברצף.
gcloud
כדי להוסיף או לשנות ציים קודמים, משתמשים בפקודה gcloud container fleet clusterupgrade update עם הדגל --upstream-fleet. כדי להסיר Fleet במעלה הזרם, משתמשים בדגל --reset-upstream-fleet .
אתם יכולים לבצע פעולות כמו:
- כדי להוסיף עוד Fleet לתחילת רצף ההשקה, מוסיפים Fleet במעלה הזרם ל-Fleet הראשון ברצף.
- כדי לשנות את הסדר של צי הרכבים ברצף ההשקה, משנים את השיוכים של צי הרכבים במעלה הזרם.
- מסירים את הצי הראשון ברצף ההשקה על ידי הסרת הצי במעלה הזרם של הצי השני.
דחיית השלמת ההשקה של הגרסה לקבוצה
אם אתם רוצים למנוע מקבוצה להשלים את השקת הגרסה החדשה באשכולות שלה באופן זמני, אתם יכולים להוסיף החרגה לצורך תחזוקה לכל אחד מהאשכולות שלא שודרגו לגרסת היעד. ההשהיה יכולה להימשך עד 30 יום, ובמהלכה הקבוצה לא תעבור לזמן הטבילה או לקבוצה הבאה בתור. אחרי 30 יום, הקבוצה תתחיל בתהליך ההשריה.
אפשר גם לשנות את משך ההמתנה של הקבוצה ל-30 יום כדי להאריך את משך ההמתנה של רצף ההשקה לפני המעבר לקבוצה הבאה.
אם אתם צריכים לדחות עוד יותר את תחילת השדרוגים של הקבוצה הבאה, אתם יכולים להשתמש בהחרגות תחזוקה לאשכולות בקבוצה הבאה.
מחיקת רצף
כדי למחוק רצף, מסירים את השיוכים במעלה הזרם של כל הקבוצות, למעט הקבוצה הראשונה. לקבוצה הראשונה אין קבוצה במעלה הזרם.
אפשר לבצע את השלבים האלה במסוף Cloud de Confiance (תצוגה מקדימה) או באמצעות ה-CLI של gcloud.
המסוף
נכנסים לדף Rollout Sequencing במסוף Cloud de Confiance .
אפשר לראות את הרצף בקטע מעקב אחרי רצף ההשקה. אם לא מוצגת רצף השקה, עוברים לרצף השקה אחר או יוצרים רצף השקה אם עדיין לא עשיתם זאת.
בתרשים ההשקה, לוחצים על הרכיב של הצי האחרון.
לוחצים על הסרת צי.
כדי להסיר את הצי, לוחצים על הסרה.
חוזרים על שלושת השלבים הקודמים עד שנשאר רק ה-Fleet הראשון.
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.
אחרי שתסירו את כל האשכולות שמונעים את השלמת ההשקה של גרסת הקבוצה, ההשקה של גרסת הקבוצה תושלם. כדי לוודא זאת, פועלים לפי ההוראות לבדיקת הסטטוס של השקת גרסה.