פיצולים של מכונות וירטואליות וחזרה לגרסה קודמת במאגרי עובדים ב-Cloud Run

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

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

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

מחזור החיים של פיצולי מופעים

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

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות לניהול מאגרי עובדים של Cloud Run ועדכונים של מאגרי עובדים, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ Cloud Run Developer (roles/run.developer) במאגר העובדים של Cloud Run.

רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם מאגר העובדים של Cloud Run מתקשר עםGoogle Cloud ממשקי API, כמו ספריות לקוח ב-Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.

חזרה לגרסה קודמת

כדי לחזור לגרסה קודמת, משתמשים במסוף Google Cloud או ב-Google Cloud CLI:

המסוף

  1. במסוף Google Cloud , עוברים אל Cloud Run worker pools:

    כניסה ל-Cloud Run

  2. מאתרים את מאגר העובדים ברשימה ולוחצים עליו.

  3. לוחצים על הכרטיסייה Revisions (גרסאות) כדי להציג את רשימת הגרסאות הנוכחיות של מאגר העובדים הזה.

  4. לוחצים על ניהול פיצולים של מופעים כדי להציג את הטופס לניהול מופעים. ב-Cloud Run מפורטת הגרסה האחרונה שמוצגת. בטופס, מגדירים את הפרטים הבאים:

    1. לוחצים על הוספת שינוי ומשתמשים ברשימה הנפתחת כדי לבחור שינוי קודם.
    2. מגדירים את אחוז המקרים של הגרסה הקודמת ל-100.
    3. מגדירים את אחוז התנועה של הגרסה האחרונה להצגה ל-0.
    4. לוחצים על Save.

gcloud

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

   gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=REVISION=100

מחליפים את מה שכתוב בשדות הבאים:

  • WORKER_POOL: שם מאגר העובדים.
  • REVISION: השם של הגרסה שאליה רוצים לחזור.

פיצול מופעים בין כמה גרסאות

כדי לפצל את המופעים בין שתי גרסאות או יותר, משתמשים במסוף Google Cloud או ב-Google Cloud CLI:

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

המסוף

  1. במסוף Google Cloud , עוברים אל Cloud Run worker pools:

    כניסה ל-Cloud Run

  2. מאתרים את מאגר העובדים ברשימה ולוחצים עליו.

  3. לוחצים על הכרטיסייה Revisions (עדכונים) כדי להציג את רשימת העדכונים הנוכחיים של מאגר העובדים הזה.

  4. לוחצים על ניהול פיצולים של מופעים כדי להציג את הטופס לניהול מופעים. ב-Cloud Run מפורטת הגרסה האחרונה שמוצגת. בטופס, מגדירים את הפרטים הבאים:

    1. מגדירים את אחוז החלוקה של הגרסה האחרונה שמוצגת לערך הנדרש, לדוגמה, מקטינים אותו מ-100%.

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

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

    4. לוחצים על Save.

gcloud

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

   gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=LIST

מחליפים את מה שכתוב בשדות הבאים:

  • WORKER_POOL: שם מאגר העובדים.

  • LIST: רשימה של עדכונים ואחוזים שמופרדת בפסיקים:

    REVISION1=PERCENTAGE1,REVISION2=PERCENTAGE2,REVISIONn=PERCENTAGEx.

    לדוגמה, my-worker-pool-s5sxn=10,my-worker-pool-cp9kw=90.

הקצאת מופעים לגרסה האחרונה

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

  • משתמשים בדגל --to-latest כדי להפנות 100% מהמכונות לגרסה האחרונה, ולהקצות באופן אוטומטי את כל המכונות לכל גרסה חדשה שתפעילו:

    gcloud beta run worker-pools update-instance-split WORKER_POOL --to-latest
    
  • אופציונלי: משתמשים בדגל --to-revisions עם מילת המפתח LATEST כדי להקצות תמיד אחוז משתנה של מופעים לגרסה העדכנית ביותר כשפורסים אותה. כדי להגדיר אחוז של מקרים שתמיד יצופו לגרסה האחרונה, מריצים את הפקודה הבאה:

    gcloud beta run worker-pools update-instance-split WORKER_POOL --to-revisions=LATEST=PERCENTAGE
    

    מחליפים את מה שכתוב בשדות הבאים:

    • WORKER_POOL: שם מאגר העובדים.
    • PERCENTAGE: אחוז המקרים להקצאה לגרסאות האחרונות ולגרסאות העתידיות האחרונות.

המאמרים הבאים