מחיקת פריסת כחול-ירוק

במאמר הזה מוסבר איך למחוק פריסת כחול-ירוק (blue-green deployment) של Cloud SQL, ומפורט ההבדל הקריטי בהתנהגות המחיקה לפני ואחרי המעבר.

לפני שמתחילים

כדי למחוק או לבטל פריסת כחול-ירוק (blue-green deployment), צריך לוודא שיש לכם את התפקידים וההרשאות הנדרשים.

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

כדי לקבל את ההרשאות שנדרשות למחיקה של פריסת כחול-ירוק (blue-green deployment), צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM הבא בפרויקט:

  • Cloud SQL Admin ‏ (roles/cloudsql.admin)

אם משתמשים בתפקידים בהתאמה אישית, צריך לוודא שיש לכם את ההרשאות הבאות:

  • cloudsql.blueGreenDeployments.delete
  • cloudsql.blueGreenDeployments.get
  • cloudsql.instances.delete
  • cloudsql.operations.get

במאמר תפקידים והרשאות מוסבר בהרחבה על תפקידים והרשאות ב-IAM ב-Cloud SQL.

הסבר על התנהגויות שקשורות למחיקה

הפעולה delete מתבצעת בצורה שונה בהתאם לשאלה אם בוצעה העברה אוטומטית:

שלב הפריסה התנהגות ברירת מחדל השפעה על המכונה
לפני המעבר
(ביטול)
מחיקת מטא-נתונים של הפריסה ומחיקה אוטומטית של מופע ההכנה הירוק. מופע הייצור הכחול שלכם ימשיך לפעול ולא יושפע בכלל.
אחרי המעבר
(מחיקה)
המטא-נתונים של הפריסה נמחקים, אבל שני המופעים נשמרים כברירת מחדל כמופעים עצמאיים. המופע הירוק ממשיך להציג תנועה של נתוני ייצור כמופע פעיל של מסד נתונים לקריאה ולכתיבה. המופע הכחול נשמר כמופע עצמאי לקריאה ולכתיבה, אלא אם בוחרים באפשרות Delete old source instance (מחיקת מופע המקור הישן), מעבירים את האפשרות --delete-old-source או מגדירים את הפרמטר deleteOldSource לערך true כדי למחוק אותו.

מקרה 1: ביטול פריסה לפני מעבר

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

המסוף

  1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  3. בכרטיס Blue Green Deployment Status (סטטוס הפריסה של Blue Green), לוחצים על Details (פרטים) כדי לפתוח את הדף Deployment overview (סקירה כללית של הפריסה).
  4. לוחצים על מחיקת הפריסה.
  5. בתיבת הדו-שיח Delete Deployment? (האם למחוק את הפריסה?), מזינים את מזהה הפריסה בשדה Deployment ID (מזהה הפריסה) כדי לאשר.
  6. לוחצים על Delete.

gcloud

כדי לבטל ולמחוק פריסת כחול-ירוק (blue-green deployment) באמצעות gcloud, מריצים את הפקודה blue-green-deployments delete:

gcloud beta sql blue-green-deployments delete DEPLOYMENT_NAME \
  --region=REGION

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

  • ‫DEPLOYMENT_NAME: השם של פריסת כחול-ירוק (blue-green deployment) שלכם.
  • ‫REGION: האזור שבו נוצרה הפריסה. Google Cloud

REST v1

כדי לבטל ולמחוק פריסת כחול-ירוק (blue-green deployment) באמצעות Cloud SQL Admin API, שולחים בקשת DELETE אל method ‏blueGreenDeployments.delete:

DELETE https://sqladmin.googleapis.com/v1/
  projects/PROJECT_ID/locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME

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

  • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • ‫REGION: האזור שבו נוצרה הפריסה. Google Cloud
  • ‫DEPLOYMENT_NAME: השם של פריסת כחול-ירוק (blue-green deployment) שלכם.

REST v1beta4

כדי לבטל ולמחוק פריסת כחול-ירוק (blue-green deployment) באמצעות Cloud SQL Admin API, שולחים בקשת DELETE אל method ‏blueGreenDeployments.delete:

DELETE https://sqladmin.googleapis.com/sql/v1beta4/
  projects/PROJECT_ID/locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME

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

  • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • ‫REGION: האזור שבו נוצרה הפריסה. Google Cloud
  • ‫DEPLOYMENT_NAME: השם של פריסת כחול-ירוק (blue-green deployment) שלכם.

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

מקרה 2: מחיקה אחרי המעבר

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

המסוף

  1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  3. בכרטיס Blue Green Deployment Status (סטטוס הפריסה של Blue Green), לוחצים על Details (פרטים) כדי לפתוח את הדף Deployment overview (סקירה כללית של הפריסה).
  4. לוחצים על מחיקת הפריסה.
  5. בתיבת הדו-שיח Delete Deployment? (האם למחוק את הפריסה?), מזינים את מזהה הפריסה בשדה Deployment ID (מזהה הפריסה) כדי לאשר.
  6. בוחרים אם למחוק או לשמור את המופע הכחול הקודם:
    • אפשרות א' (מחיקת הפריסה והמכונה הכחולה הקודמת): מסמנים את תיבת הסימון מחיקת מכונת המקור הישנה.
    • אפשרות ב' (מחיקת מטא-נתונים של הפריסה בלבד): משאירים את תיבת הסימון מחיקת מופע המקור הישן לא מסומנת כדי לשמור את המופע הכחול הקודם כמופע עצמאי.
  7. לוחצים על Delete.

gcloud

כדי למחוק פריסת כחול-ירוק (blue-green deployment) באמצעות gcloud, מריצים את הפקודה blue-green-deployments delete.

אפשרות א': מחיקת הפריסה והמופע הכחול הקודם

כדי למחוק את המטא-נתונים של הפריסה ולמחוק אוטומטית את המופע הכחול הקודם, מעבירים את האפשרות --delete-old-source:

gcloud beta sql blue-green-deployments delete DEPLOYMENT_NAME \
  --region=REGION \
  --delete-old-source

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

  • ‫DEPLOYMENT_NAME: השם של פריסת כחול-ירוק (blue-green deployment) שלכם.
  • ‫REGION: האזור שבו נוצרה הפריסה. Google Cloud

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

אפשרות ב': מחיקת המטא-נתונים של הפריסה בלבד (שמירה של המופע הכחול הקודם)

אם רוצים להשאיר את המופע הכחול הקודם פעיל כמופע עצמאי (למשל, כגיבוי או לביצוע שאילתות ניתוח היסטוריות), לא צריך להוסיף את האפשרות --delete-old-source:

gcloud beta sql blue-green-deployments delete DEPLOYMENT_NAME \
  --region=REGION

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

  • ‫DEPLOYMENT_NAME: השם של פריסת כחול-ירוק (blue-green deployment) שלכם.
  • ‫REGION: האזור שבו נוצרה הפריסה. Google Cloud

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

REST v1

כדי למחוק פריסת כחול-ירוק (blue-green deployment) באמצעות Cloud SQL Admin API, שולחים בקשת DELETE ל-method‏ blueGreenDeployments.delete.

אפשרות א': מחיקת הפריסה והמופע הכחול הקודם

כדי למחוק את מטא-הנתונים של הפריסה ולמחוק אוטומטית את המופע הקודם (הכחול), מגדירים את פרמטר השאילתה deleteOldSource לערך true:

DELETE https://sqladmin.googleapis.com/v1/
  projects/PROJECT_ID/locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME?deleteOldSource=true

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

  • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • ‫REGION: האזור שבו נוצרה הפריסה. Google Cloud
  • ‫DEPLOYMENT_NAME: השם של פריסת כחול-ירוק (blue-green deployment) שלכם.

אפשרות ב': מחיקת המטא-נתונים של הפריסה בלבד (שמירה של המופע הכחול הקודם)

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

DELETE https://sqladmin.googleapis.com/v1/
  projects/PROJECT_ID/locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME

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

  • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • ‫REGION: האזור שבו נוצרה הפריסה. Google Cloud
  • ‫DEPLOYMENT_NAME: השם של פריסת כחול-ירוק (blue-green deployment) שלכם.

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

REST v1beta4

כדי למחוק פריסת כחול-ירוק (blue-green deployment) באמצעות Cloud SQL Admin API, שולחים בקשת DELETE ל-method‏ blueGreenDeployments.delete.

אפשרות א': מחיקת הפריסה והמופע הכחול הקודם

כדי למחוק את מטא-הנתונים של הפריסה ולמחוק אוטומטית את המופע הקודם (הכחול), מגדירים את פרמטר השאילתה deleteOldSource לערך true:

DELETE https://sqladmin.googleapis.com/sql/v1beta4/
  projects/PROJECT_ID/locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME?deleteOldSource=true

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

  • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • ‫REGION: האזור שבו נוצרה הפריסה. Google Cloud
  • ‫DEPLOYMENT_NAME: השם של פריסת כחול-ירוק (blue-green deployment) שלכם.

אפשרות ב': מחיקת המטא-נתונים של הפריסה בלבד (שמירה של המופע הכחול הקודם)

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

DELETE https://sqladmin.googleapis.com/sql/v1beta4/
  projects/PROJECT_ID/locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME

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

  • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • ‫REGION: האזור שבו נוצרה הפריסה. Google Cloud
  • ‫DEPLOYMENT_NAME: השם של פריסת כחול-ירוק (blue-green deployment) שלכם.

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

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