מודרניזציה של מישור הבקרה המנוהל

סקירה כללית

‫Google תעדכן בהדרגה את צי הרכבים הקיים שהשתמש בהטמעה של ISTIOD managed control plane כדי להשתמש בהטמעה של TRAFFIC_DIRECTOR. כברירת מחדל, Google תעביר את צי הרכבים שלכם באופן אוטומטי, אבל אתם יכולים לבחור לבצע את ההעברה בעצמכם. כדי לבדוק באיזה מישור בקרה נעשה שימוש בצי המכונות שלכם, אפשר לעיין במאמר בנושא בדיקת ההטמעה של מישור הבקרה.

כשמכינים את צי המכשירים למודרניזציה, כדאי לקחת בחשבון את הנקודות הבאות:

  1. כדי להתכונן למודרניזציה, יש לכם שתי דרכים לשלוט בתהליך:

    • העברה אוטומטית בהובלת Google (ברירת מחדל) – אפשר להתאים אישית את הסדר שבו האשכולות עוברים מודרניזציה באמצעות ההוראות שבמאמר בנושא מודרניזציה בהובלת Google.

    • העברה בניהול הלקוח (אופציונלי) – אתם יכולים לבחור לבצע את המודרניזציה של צי הרכבים בעצמכם על ידי תיוגם בהתאם להוראות שבמאמר מודרניזציה בניהול הלקוח.

  2. המודרניזציה מבוססת-Google היא ברירת המחדל. באפשרות הזו, Google קובעת מתי צי הרכבים שלכם מוכן למודרניזציה. ‫Google מתזמנת את צי הרכבים שלכם לשדרוג ומודיעה לכם לפני תחילת התהליך.

  3. מודרניזציה של אשכול תגרום להפעלה מחדש של עומסי עבודה שיש להם שרתי proxy. אם פועלים לפי השיטות המומלצות של Kubernetes, לא אמורה להיות השבתה. בנוסף, Google תפעיל מודרניזציה במהלך חלון זמן לתחזוקה, אם הגדרתם כזה. אחרי שהתהליך מתחיל, הוא ממשיך עד הסוף, עם 6 ימים נוספים של זמן השהיה לפני שהוא מסומן כסופי. אם המערכת לניטור מזהה בעיות, אפשר לבקש חזרה לגרסה הקודמת.

  4. במקרה של מודרניזציה שמבוססת על לקוחות, Google מודיעה לכם כשהציים שלכם מוכנים למודרניזציה. לאחר מכן תוכלו לבחור מתי להפעיל את המודרניזציה, אשכול אחר אשכול. אחרי שמשלימים את המשימה, מסמנים כל מודרניזציה של צי כהשלמה.

  5. אחרי שמבצעים מודרניזציה של צי, Google מסירה את כל הרכיבים שמבוססים על Istiod.

  6. ההטמעה של TRAFFIC_DIRECTOR מישור הבקרה מחייבת שהאשכול שלכם יהיה רשום ב-Fleet עם הפעלת התכונה mesh. אם הצטרפתם באמצעות כלים מדור קודם, Google תרשום באופן אוטומטי את האשכול שלכם לצי הפרויקט שלה, באמצעות Membership API‏ gkehub.googleapis.com. אם יש לכם אוטומציה שמבטלת את הרישום של אשכול, אתם צריכים להסיר אותה לפני המודרניזציה.

מודרניזציה מבוססת-Google

האפשרות הזו מוגדרת כברירת מחדל אם לא מסמנים את צי הרכבים לצורך מודרניזציה שמונעת על ידי הלקוח. ‫Google תעקוב אחרי צי הרכבים שלכם כדי לקבוע מתי הם מוכנים לשדרוג בטוח. כשהמערכות של כל ציוד הרשת בארגון יהיו מוכנות, הארגון יתוזמן לשדרוג.

כמה ציוד

אם לארגון שלכם יש כמה קבוצות של שרתים עם Cloud Service Mesh מנוהל, אתם יכולים לשלוט בסדר שבו Google תבצע מודרניזציה של קבוצות השרתים. לשם כך, צריך להגדיר תווית פרויקט mesh-modernization-order לאחד מהערכים הבאים: early,‏ default,‏ late. ‫Google תשלים את המודרניזציה של כל קבוצה לפני שתתחיל במודרניזציה של צי כלשהו בקבוצה הבאה. ציים שהפעלתם בהם מודרניזציה מונעת-לקוח לא ייכללו בסדר הזה.

משתמשים בפקודה הבאה כדי להגדיר את התווית mesh-modernization-order ל-Fleet:

gcloud alpha projects update FLEET_PROJECT_ID --update-labels="mesh-modernization-order=VALUE"

הוראות להגדרת תוויות לפרויקט באמצעות Console או REST מופיעות במאמר יצירה וניהול של תוויות.

אם אתם לא משתמשים בארגונים, הציים שלכם יתעדכנו ויעברו מודרניזציה באופן עצמאי, ולא תוכלו לשלוט בסדר הפעולות. Google Cloud

רשתות של אשכולות מרובים

אם בצי יש כמה אשכולות שמשתמשים ב-Cloud Service Mesh מנוהל, אפשר לשלוט בסדר שבו Google מבצעת מודרניזציה של האשכולות. לשם כך, צריך להגדיר את התווית של האשכול mesh-modernization-order לאחד מהערכים הבאים: early,‏ default,‏ late. ‫Google תתחיל את המודרניזציה של כל קבוצה ותמתין להשלמת שלבי המודרניזציה האוטומטיים, לפני שתתחיל את המודרניזציה של כל אשכול בקבוצה הבאה. הערה: הסדר הזה יחול רק על צי מסוים, ולא ישפיע על ציוד אחר בארגון שעובר מודרניזציה במקביל.

משתמשים בפקודה הבאה כדי להגדיר את התווית mesh-modernization-order עבור אשכול:

gcloud container clusters update CLUSTER_NAME \
  --location LOCATION \
  --update-labels="mesh-modernization-order=VALUE"

התראות ותזמון

בקטע הזה מוסבר איך תקבלו הודעה על המודרניזציה הקרובה של צי הרכבים והאשכולות שלכם.

הודעה על כך שעדכון המערכת יתוזמן בקרוב

קודם כל, תקבלו הודעה כשהציים שלכם ייבחרו לעדכון מודרני בהובלת Google, שיתבצע בשבועות הקרובים.

ההתראה הזו תישלח לפני יום העסקים הראשון בחודש בארה"ב. תאריך ההתחלה המוקדם ביותר האפשרי של מודרניזציה של אשכול הוא 14 ימים אחרי יום העסקים הראשון בארה"ב בחודש מסוים, ו-Google תעשה מאמץ להתחיל את המודרניזציה הראשונה של האשכול בארגון שלכם עד סוף החודש הקלנדרי הבא. לדוגמה, ההתראות יופעלו לפני 1 באפריל 2025, יכול להיות שהמודרניזציה של האשכולות תתחיל ב-15 באפריל 2025, והמודרניזציה הראשונה של האשכולות צריכה להתחיל לפני 31 במאי 2025.

תקבלו הודעה בו-זמנית על כל צי הרכבים בארגון שלכם (לא כולל אלה שבחרתם עבורם מודרניזציה בהובלת הלקוח).

ההתראה הזו זמינה בתנאים של מצב התכונה ברמת הצי. כדי לבדוק את ההתראה, משתמשים בפקודה הבאה של Google Cloud CLI:

gcloud alpha container fleet mesh describe --project $FLEET_PROJ

אחרי שתקבעו את לוח הזמנים של הצי, יוצג תנאי עם code: MODERNIZATION_WILL_BE_SCHEDULED ו-details שדומה לזה:

state:
  servicemesh:
    conditions:
      - code: MODERNIZATION_WILL_BE_SCHEDULED
        details: We will soon schedule clusters in this fleet to be modernized to use the TRAFFIC_DIRECTOR
          control plane implementation. Please confirm your fleet and cluster preferences prior to
          scheduling. Cluster modernization dates will be on or after 2025-03-17.
        documentation_link: ...
        severity: INFO

התראה ברמת האשכול על כך שהמודרניזציה מתוזמנת

תקבלו הודעה ברמת האשכול לגבי תאריך ההתחלה המשוער של המודרניזציה של האשכול הזה על ידי Google, לפחות יום אחד לפני תחילת המודרניזציה של האשכול.

אחרי ההתראה ברמת הצי, תקבלו תזמון מדויק יותר של המודרניזציה של אשכולות ספציפיים.

ההתראות זמינות בתנאים של מצב התכונה ברמת האשכול. כדי לבדוק את ההתראה, משתמשים בפקודה הבאה של Google Cloud CLI:

gcloud container hub mesh describe --project=PROJECT_ID

יוצגו תוצאות דומות לאלה:

membershipStates:
  projects/656460026795/locations/us-central1/memberships/cluster:
    servicemesh:
      conditions:
      - code: MODERNIZATION_SCHEDULED
        details: This cluster has been scheduled for modernization on or after 2025-03-17.
        documentationLink: ...
        severity: INFO

מודרניזציה פעילה להעברה מבוססת-Google

בקטע הזה מתוארים השלבים של המודרניזציה שמבוססת על Google.

מודרניזציה של צי הרכב

‫Google תפעיל מודרניזציה של כל צי המכשירים בארגון שלכם. כלומר, לכל צי הרכבים מתבצעות הפעולות הבאות:

  1. עדכון כל האשכולות באמצעות mesh-modernization-order של early.
  2. לעדכן את כל האשכולות באמצעות mesh-modernization-order של default או באמצעות הגדרה לא מוגדרת.
  3. עדכון כל האשכולות באמצעות mesh-modernization-order של late.
  4. מחכים עד שהמודרניזציה של כל אשכול תסומן כסופית. כלומר, צריך להמתין לפחות 6 ימי עסקים אחרי הפעלה מחדש של הפוד האחרון בכל אשכול בצי הזה.
  5. להשלים את המודרניזציה של צי המכונות, ובסופו של דבר להסיר רכיבים שמבוססים על Istiod.

מודרניזציה של אשכול

במהלך מודרניזציה פעילה של אשכול, שתי ההטמעות של מישור הבקרה מורצות באופן זמני זו לצד זו, ובאופן בטוח ומבוקר, המשימות הבאות מעובדות:

  1. הפעלת ההטמעה החדשה של מישור הבקרה. אם הגדרתם חלונות זמן לתחזוקה לאשכול שלכם ואתם משתמשים במודרניזציה מבוססת-Google, השלב הזה יתחיל במהלך חלון זמן לתחזוקה וימשיך עד להשלמתו.
    • כדי להפעיל בדיקות תקינות, מערכת snk daemonset נוצרת במרחב השמות kube-system של האשכול, ונוצר כלל חומת אש לכל אשכול.
  2. העברת התנועה להטמעה החדשה של מישור הבקרה. אם הגדרתם חלונות זמן לתחזוקה לאשכול שלכם ואתם משתמשים במודרניזציה מבוססת-Google, השלב הזה יתחיל במהלך חלון זמן לתחזוקה וימשיך עד להשלמתו.
    • תאי Pod שמנוהלים על ידי פריסת Kubernetes שיש להם פרוקסי של Cloud Service Mesh מופעלים מחדש, כדי שהם יתחברו מחדש למישור הבקרה החדש.
    • הפודים מופעלים מחדש בגלים הולכים וגדלים, עם זמן השהיה אחרי כל גל לצורך מעקב.
  3. יש לחכות לפחות 6 ימי עסקים של זמן טבילה לפני שמסמנים את המודרניזציה של אשכול כסופית.

כדי לבדוק את הסטטוס של המודרניזציה הפעילה, משתמשים בפקודה הבאה של Google Cloud CLI:

gcloud container fleet mesh describe --project FLEET_PROJECT_ID

בשדה per-clustermembershipStates יופיע תנאי כמו אחד מהתנאים הבאים:

...
membershipStates:
  projects/FLEET_PROJ/locations/us-central1/memberships/MEMBERSHIP:
    servicemesh:
      conditions:
      - code: MODERNIZATION_IN_PROGRESS
        details: ...
        documentationLink: ...
        severity: INFO
...
      # If you see this, see instructions provided in the details and documentationLink fields.
      - code: MODERNIZATION_ACTION_REQUIRED
        details: [details about required actions]
        documentationLink: [link to documentation for required actions]
        severity: WARNING
...
      - code: MODERNIZATION_COMPLETED
        details: ...
        documentationLink: ...
        severity: INFO

מודרניזציה שמבוססת על צרכי הלקוחות

אתם יכולים לבחור לשלוט בעצמכם בתזמון המדויק של המודרניזציה ברמת הצי. כדי לעשות את זה, מפעילים תווית בפרויקט המארח של הצי באמצעות הפקודה הבאה:

gcloud alpha projects update FLEET_PROJECT_ID \
  --update-labels="mesh-modernization-mode=manual"

שימו לב שאם Google Cloud לארגון שלכם יש כמה ציודים, כל ציוד שלא סומן יתוזמן לשדרוג מודרניזציה מבוסס-Google.

כשהצי שלכם יהיה זכאי לשדרוג, תקבלו התראה בסטטוס התכונה ברמת הצי. עליך להפעיל את תהליך המודרניזציה תוך 3 חודשים ממועד קבלת ההודעה הזו.

כדי להכין את האשכול למודרניזציה, כדאי לעיין בשיטות המומלצות להגדרה שנדרשות. כדי לקבל התראות, אפשר להירשם לעדכונים של הערות הגרסה של Cloud Service Mesh.