במדריך הזה נסביר איך לבצע פריסות כחול/ירוק ללא השבתה בקבוצות של מכונות מנוהלות (MIG) ב-Compute Engine באמצעות Cloud Build ו-Terraform.
באמצעות Cloud Build אפשר לבצע אוטומציה של מגוון תהליכי פיתוח, כולל בנייה ופריסה של אפליקציות בסביבות זמן ריצה שונות כמו Compute Engine, Google Kubernetes Engine, GKE Enterprise ופונקציות Cloud Run. Google Cloud
קבוצות של מכונות מנוהלות (MIG) ב-Compute Engine מאפשרות להפעיל אפליקציות במספר מכונות וירטואליות (VM) זהות. אתם יכולים להפוך את עומסי העבודה שלכם לניתנים להרחבה ולזמינים מאוד על ידי ניצול שירותים אוטומטיים של MIG, כולל: התאמה אוטומטית לעומס, תיקון תוכנה אוטומטי, פריסה אזורית (מספר אזורים) ועדכון אוטומטי. בשיעור הזה תלמדו איך להעביר בהדרגה תנועת משתמשים מקבוצת מופעים מנוהלת אחת (כחולה) לקבוצת מופעים מנוהלת אחרת (ירוקה), ששתיהן פועלות בסביבת ייצור, באמצעות מודל של פריסה רציפה מסוג כחול/ירוק.
לפני שמתחילים
מפעילים את ממשקי ה-API של Cloud Build, Cloud Run, Artifact Registry ומנהל המשאבים.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידים
חשוב להכין את קוד המקור של האפליקציה. קוד המקור צריך להיות מאוחסן במאגר כמו GitHub או Bitbucket.
כדי להריץ את הפקודות
gcloudשבדף הזה, צריך להתקין את Google Cloud CLI.
הרשאות נדרשות לניהול זהויות והרשאות גישה (IAM)
-
במסוף Google Cloud , נכנסים לדף settings Cloud Build Permissions:
בחשבון השירות שצוין ב-Cloud Build או בחשבון השירות שמוגדר כברירת מחדל ב-Cloud Build, מגדירים את הסטטוס של התפקידים הבאים למופעל:
- מנהל מכונות של Compute גרסה 1 (
roles/compute.instanceAdmin) | מאפשר ל-Cloud Build לפרוס מכונות חדשות ב-Compute Engine.- בחלונית Assign Service Account User Role (הקצאת התפקיד Service Account User), בוחרים חשבון שירות להתחזות אליו ולוחצים על Grant Permission (מתן הרשאה).
- אדמין לניהול נפח האחסון (
roles/storage.admin) | מאפשר קריאה וכתיבה מ-Cloud Storage. - כותב של Artifact Registry (
roles/artifactregistry.writer) | מאפשר שליפת תמונות מ-Artifact Registry וכתיבה ב-Artifact Registry. - כותב יומנים (
roles/logging.logWriter) | מאפשר לכתוב רשומות ביומן ב-Cloud Logging. - עריכה ב-Cloud Build (
roles/cloudbuild.builds.editor) | מאפשר לחשבון השירות להריץ בנייה.
- מנהל מכונות של Compute גרסה 1 (
סקירה כללית של העיצוב
בתרשים הבא מוצג מודל הפריסה blue-green שבו נעשה שימוש בדוגמת הקוד שמתוארת במסמך הזה:
באופן כללי, המודל הזה כולל את הרכיבים הבאים:
- שתי קבוצות של מכונות וירטואליות ב-Compute Engine: כחולה וירוקה.
- שלושה מאזני עומסים חיצוניים מסוג HTTP(S):
- מאזן עומסים כחול-ירוק, שמנתב תנועה ממשתמשי קצה למאגר הכחול או הירוק של מכונות וירטואליות.
- מאזן עומסים כחול שמנתב תנועה ממהנדסי QA ומפתחים למאגר המכונות הווירטואליות הכחול.
- מאזן עומסים ירוק שמנתב תנועה ממהנדסי QA ומפתחים למאגר המופעים הירוק.
- שתי קבוצות של משתמשים:
- משתמשי קצה שיש להם גישה למאזן העומסים Blue-Green, שמפנה אותם למאגר המופעים Blue או למאגר המופעים Green.
- מהנדסי QA ומפתחים שזקוקים לגישה לשתי קבוצות המאגרים למטרות פיתוח ובדיקה. הם יכולים לגשת גם למאזני העומסים הכחולים וגם למאזני העומסים הירוקים, שמנתבים אותם למאגר המופעים הכחול ולמאגר המופעים הירוק בהתאמה.
מאגרי המכונות הווירטואליות הכחולות והירוקות מיושמים כקבוצות של מכונות מנוהלות (MIG) ב-Compute Engine, וכתובות IP חיצוניות מנותבות למכונות הווירטואליות בקבוצה באמצעות מאזני עומסים חיצוניים של HTTP(s). בדוגמת הקוד שמתוארת במסמך הזה נעשה שימוש ב-Terraform כדי להגדיר את התשתית הזו.
התרשים הבא ממחיש את פעולות הפיתוח שמתבצעות בפריסה:
בתרשים הקודם, החצים האדומים מייצגים את תהליך האתחול שמתרחש כשמגדירים את תשתית הפריסה בפעם הראשונה, והחצים הכחולים מייצגים את תהליך GitOps שמתרחש במהלך כל פריסה.
כדי להגדיר את התשתית הזו, מריצים סקריפט הגדרה שמפעיל את תהליך האתחול ומגדיר את הרכיבים של תהליך GitOps.
סקריפט ההגדרה מפעיל צינור עיבוד נתונים של Cloud Build שמבצע את הפעולות הבאות:
- יוצר מאגר ב-Cloud Source Repositories בשם
copy-of-gcp-mig-simpleומעתיק את קוד המקור ממאגר הדוגמאות של GitHub למאגר ב-Cloud Source Repositories. - יוצר שני טריגרים של Cloud Build בשמות
applyו-destroy.
הטריגר apply מצורף לקובץ Terraform בשם main.tfvars ב-Cloud Source Repositories. הקובץ הזה מכיל את משתני Terraform שמייצגים את מאזני העומסים הכחולים והירוקים.
כדי להגדיר את הפריסה, מעדכנים את המשתנים בקובץ main.tfvars.
הטריגר apply מפעיל צינור Cloud Build שמבצע את tf_apply ואת הפעולות הבאות:
- יצירה של שתי קבוצות של מופעי מכונה מנוהלים (MIG) ב-Compute Engine (אחת לירוק ואחת לכחול), ארבע מכונות וירטואליות ב-Compute Engine (שתיים לקבוצת ה-MIG הירוקה ושתיים לקבוצת ה-MIG הכחולה), שלושה מאזני עומסים (כחול, ירוק ומפצל) ושלוש כתובות IP ציבוריות.
- הפקודה מדפיסה את כתובות ה-IP שאפשר להשתמש בהן כדי לראות את האפליקציות שנפרסו במופעים הכחולים והירוקים.
הטריגר destroy מופעל באופן ידני כדי למחוק את כל המשאבים שנוצרו על ידי הטריגר apply.
מטרות
שימוש ב-Cloud Build וב-Terraform כדי להגדיר מאזני עומסים חיצוניים מסוג HTTP(S) עם קצה עורפי של קבוצת מכונות וירטואליות ב-Compute Engine.
ביצוע פריסות כחול-ירוק במכונות הווירטואליות.
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.
כשמסיימים את המשימות שמתוארות במסמך הזה אפשר למחוק את המשאבים שיצרתם כדי להימנע מחיובים נוספים. מידע נוסף זמין בקטע הסרת המשאבים.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
מפעילים את ממשקי ה-API של Cloud Build, Cloud Run, Artifact Registry ומנהל המשאבים:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםgcloud services enable cloudbuild.googleapis.com
run.googleapis.com artifactregistry.googleapis.com cloudresourcemanager.googleapis.com -
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
מפעילים את ממשקי ה-API של Cloud Build, Cloud Run, Artifact Registry ומנהל המשאבים:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםgcloud services enable cloudbuild.googleapis.com
run.googleapis.com artifactregistry.googleapis.com cloudresourcemanager.googleapis.com
אני רוצה לנסות
מריצים את סקריפט ההגדרה ממאגר דוגמאות הקוד של Google:
bash <(curl https://raw.githubusercontent.com/GoogleCloudPlatform/cloud-build-samples/main/mig-blue-green/setup.sh)כשסקריפט ההגדרה מבקש הסכמה מהמשתמש, מזינים yes.
הסקריפט יסיים לפעול תוך כמה שניות.
במסוף Google Cloud , פותחים את הדף Build history ב-Cloud Build:
לוחצים על ה-build האחרון.
מוצג הדף Build details, שבו מוצג צינור של Cloud Build עם שלושה שלבי build: בשלב הראשון נוצר מאגר ב-Cloud Source Repositories, בשלב השני משובטים התכנים של מאגר הדוגמה ב-GitHub ל-Cloud Source Repositories, ובשלב השלישי מתווספים שני טריגרים של build.
פותחים את Cloud Source Repositories:
ברשימת המאגרים, לוחצים על
copy-of-gcp-mig-simple.בכרטיסייה History (היסטוריה) בחלק התחתון של הדף, יופיע קומיט אחד עם התיאור
A copy of https://github.com/GoogleCloudPlatform/cloud-build-samples.gitשנוצר על ידי Cloud Build כדי ליצור מאגר בשםcopy-of-gcp-mig-simple.פותחים את הדף Triggers (טריגרים) של Cloud Build:
כדי להתחיל בתהליך הפריסה, מעדכנים את הקובץ
infra/main.tfvars:בחלון הטרמינל, יוצרים תיקייה בשם
deploy-compute-engineועוברים אליה:mkdir ~/deploy-compute-engine cd ~/deploy-compute-engineמשכפלים את מאגר
copy-of-gcp-mig-simple:gcloud source repos clone copy-of-mig-blue-greenעוברים לספרייה המשוכפלת:
cd ./copy-of-mig-blue-greenכדי לעדכן את
infra/main.tfvarsולהחליף את הכחול בירוק:sed -i'' -e 's/blue/green/g' infra/main.tfvarsמוסיפים את הקובץ המעודכן:
git add .מבצעים Commit לקובץ:
git commit -m "Promote green"דחיפת הקובץ:
git pushביצוע שינויים ב-
infra/main.tfvarsמפעיל את הטריגרapplyשמתחיל את הפריסה.
פותחים את Cloud Source Repositories:
ברשימת המאגרים, לוחצים על
copy-of-gcp-mig-simple.האישור עם התיאור
Promote greenיופיע בכרטיסייה היסטוריה בתחתית הדף.כדי לראות את ההפעלה של הטריגר
apply, פותחים את הדף Build history במסוף Google Cloud :פותחים את הדף פרטי הגרסה על ידי לחיצה על הגרסה הראשונה.
יוצג צינור ההפעלה
applyעם שני שלבי בנייה. בשלב הראשון של הבנייה מופעלת הפקודה Terraform apply כדי ליצור את משאבי Compute Engine ואיזון העומסים לפריסה. בשלב השני של הבנייה מודפסת כתובת ה-IP שבה אפשר לראות את האפליקציה פועלת.פותחים בדפדפן את כתובת ה-IP שמתאימה ל-MIG הירוק. יוצג צילום מסך דומה לזה שבהמשך, שבו מוצגת הפריסה:
עוברים לדף Instance group של Compute Engine כדי לראות את קבוצות המופעים הכחולה והירוקה:
פותחים את הדף VM instances כדי לראות את ארבע מכונות ה-VM:
פותחים את הדף External IP addresses כדי לראות את שלושת מאזני העומסים:
יוצגו שני טריגרים לבנייה בשמות apply ו-destroy. הטריגר apply מצורף לקובץ infra/main.tfvars בענף main. הטריגר הזה מופעל בכל פעם שהקובץ מתעדכן. הטריגר destroy הוא טריגר ידני.
הסבר על הקוד
קוד המקור של דוגמת הקוד הזו כולל:
- קוד מקור שקשור לסקריפט ההגדרה.
- קוד מקור שקשור לצינורות העברת נתונים של Cloud Build.
- קוד המקור שקשור לתבניות Terraform.
סקריפט הגדרות
setup.sh הוא סקריפט ההגדרה שמריץ את תהליך האתחול ויוצר את הרכיבים לפריסת כחול-ירוק. הסקריפט מבצע את הפעולות הבאות:
- ההרשאה מאפשרת להשתמש בממשקי Cloud Build, מנהל המשאבים, Compute Engine ו-Cloud Source Repositories API.
- מקצה את תפקיד ה-IAM
roles/editorלחשבון השירות של Cloud Build בפרויקט. התפקיד הזה נדרש כדי ש-Cloud Build יוכל ליצור ולהגדיר את רכיבי ה-GitOps הנדרשים לפריסה. - מקצה את תפקיד ה-IAM
roles/source.adminלחשבון השירות של Cloud Build בפרויקט. התפקיד הזה נדרש כדי שחשבון השירות של Cloud Build יוכל ליצור את Cloud Source Repositories בפרויקט שלכם ולשכפל את התוכן של מאגר הדוגמה ב-GitHub אל Cloud Source Repositories. יוצר צינור Cloud Build בשם
bootstrap.cloudbuild.yamlinline, שכולל את הפעולות הבאות:- יוצר מאגר חדש ב-Cloud Source Repositories.
- הקוד מעתיק את קוד המקור ממאגר הנתונים לדוגמה של GitHub למאגר החדש ב-Cloud Source Repositories.
- יוצר את טריגרים הבנייה apply ו-destroy.
צינורות עיבוד נתונים של Cloud Build
apply.cloudbuild.yaml ו-destroy.cloudbuild.yaml הם קובצי ההגדרות של Cloud Build שבהם סקריפט ההגדרה משתמש כדי להגדיר את המשאבים לזרימת GitOps. apply.cloudbuild.yaml מכיל שני שלבי בנייה:
tf_apply buildשלב בנייה שקורא לפונקציהtf_install_in_cloud_build_step, שמתקינה את Terraform.tf_applyשיוצר את המשאבים שמשמשים בתהליך העבודה של GitOps. הפונקציותtf_install_in_cloud_build_stepו-tf_applyמוגדרות ב-bash_utils.sh, ובשלב הבנייה נעשה שימוש בפקודהsourceכדי להפעיל אותן.describe_deploymentשלב build שקורא לפונקציהdescribe_deploymentשמדפיסה את כתובות ה-IP של מאזני העומסים.
destroy.cloudbuild.yaml calls tf_destroy שמוחקת את כל המשאבים שנוצרו על ידי tf_apply.
הפונקציות tf_install_in_cloud_build_step, tf_apply, describe_deployment ו-tf_destroy מוגדרות בקובץ bash_utils.sh.
קבצי ההגדרות של ה-build משתמשים בפקודה source כדי לקרוא לפונקציות.
הקוד הבא מציג את הפונקציה tf_install_in_cloud_build_step שמוגדרת ב-bash_utils.sh. קובצי התצורה של ה-build קוראים לפונקציה הזו כדי להתקין את Terraform תוך כדי תהליך. הוא יוצר קטגוריה של Cloud Storage כדי לתעד את הסטטוס של Terraform.
בקטע הקוד הבא מוצגת הפונקציה tf_apply שמוגדרת ב-bash_utils.sh. קודם כל מופעלת הפונקציה terraform init שטוענת את כל המודולים ואת הספריות המותאמות אישית, ואז מופעלת הפונקציה terraform apply כדי לטעון את המשתנים מהקובץ main.tfvars.
בקטע הקוד הבא מוצגת הפונקציה describe_deployment שמוגדרת ב-bash_utils.sh. הוא משתמש ב-gcloud compute addresses describe כדי לאחזר את כתובות ה-IP של מאזני העומסים באמצעות השם שלהם, ומדפיס אותן.
בקטע הקוד הבא מוצגת הפונקציה tf_destroy שמוגדרת ב-bash_utils.sh. היא קוראת ל-terraform init שמעמיס את כל המודולים והספריות המותאמות אישית, ואז מריצה את terraform destroy שמבטל את הטעינה של משתני Terraform.
תבניות Terraform
כל קובצי התצורה והמשתנים של Terraform נמצאים בתיקייה copy-of-gcp-mig-simple/infra/.
-
main.tf: זהו קובץ ההגדרות של Terraform -
main.tfvars: בקובץ הזה מוגדרים משתני Terraform. -
mig/ו-splitter/: התיקיות האלה מכילות את המודולים שמגדירים את איזוני העומסים. התיקייהmig/מכילה את קובץ התצורה של Terraform שמגדיר את ה-MIG עבור מאזני העומסים Blue ו-Green. ה-MIG הכחול וה-MIG הירוק זהים, ולכן הם מוגדרים פעם אחת ומופעלים עבור האובייקטים הכחולים והירוקים. קובץ התצורה של Terraform למאזן העומסים של המפצל נמצא בתיקייהsplitter/.
בקטע הקוד הבא מוצג התוכן של infra/main.tfvars. הוא מכיל שלוש משתנים: שניים שקובעים איזו גרסת אפליקציה לפרוס למאגרי הכחול והירוק, ומשתנה לצבע הפעיל: כחול או ירוק. שינויים בקובץ הזה מפעילים את הפריסה.
קטע הקוד הבא הוא מתוך infra/main.tf. בדוגמה הזו:
- משתנה מוגדר עבור הפרויקט Google Cloud .
- Google מוגדרת כספק Terraform.
- משתנה מוגדר למרחב שמות. כל האובייקטים שנוצרו על ידי Terraform מקבלים את הקידומת של המשתנה הזה, כדי שאפשר יהיה לפרוס כמה גרסאות של האפליקציה באותו פרויקט וששמות האובייקטים לא יתנגשו זה עם זה.
- המשתנים
MIG_VER_BLUE,MIG_VER_BLUEו-MIG_ACTIVE_COLORהם הקישורים למשתנים בקובץinfra/main.tfvars.
בקטע הקוד הבא מתוך infra/main.tf מוצגת יצירת מופע של מודול הפיצול. המודול הזה מקבל את הצבע הפעיל כדי שמאזן העומסים של המפצל יידע באיזה MIG לפרוס את האפליקציה.
בקטע הקוד הבא מתוך infra/main.tf מוגדרים שני מודולים זהים של MIG בצבע כחול וירוק. הוא מקבל את הצבע, הרשת והרשת המשנית שמוגדרים במודול המפצל.
הקובץ splitter/main.tf מגדיר את האובייקטים שנוצרים עבור
splitter MIG. קטע הקוד הבא מתוך splitter/main.tf מכיל את הלוגיקה למעבר בין קבוצת ה-MIG הירוקה לקבוצת ה-MIG הכחולה. הוא נתמך על ידי השירות google_compute_region_backend_service, שיכול לנתב תעבורה לשני אזורי קצה עורפיים: var.instance_group_blue או var.instance_group_green.
הערך capacity_scaler מגדיר כמה מהתנועה ינותב.
הקוד הבא מעביר 100% מתעבורת הנתונים לצבע שצוין, אבל אפשר לעדכן את הקוד הזה כדי להעביר את תעבורת הנתונים לקבוצת משנה של המשתמשים לצורך פריסה של גרסה ראשונית (canary).
הקובץ mig/main.tf מגדיר את האובייקטים שקשורים ל-MIG הכחול ול-MIG הירוק. בקטע הקוד הבא מהקובץ הזה מוגדרת תבנית של הגדרות מכונה של Compute Engine שמשמשת ליצירת מאגרי מכונות וירטואליות. שימו לב שתבנית המופע הזו כוללת את מאפיין מחזור החיים של Terraform שמוגדר ל-create_before_destroy.
הסיבה לכך היא שכאשר מעדכנים את הגרסה של המאגר, אי אפשר להשתמש בתבנית כדי ליצור את הגרסה החדשה של המאגרים אם עדיין נעשה בה שימוש בגרסה הקודמת של המאגר. אבל אם הגרסה הישנה של המאגר תושמד לפני יצירת התבנית החדשה, יהיה פרק זמן שבו המאגרים לא יפעלו. כדי להימנע מהתרחיש הזה, הגדרנו את מחזור החיים של Terraform ל-create_before_destroy כדי שהגרסה החדשה יותר של מאגר המכונות הווירטואליות תיווצר לפני שהגרסה הישנה יותר תושמד.
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.
מחיקת משאבים בודדים
מוחקים את המשאבים של Compute Engine שנוצרו על ידי טריגר ההפעלה:
פותחים את הדף Triggers (טריגרים) של Cloud Build:
בטבלה Triggers (טריגרים), מאתרים את השורה שמתאימה לטריגר destroy ולוחצים על Run (הפעלה). כשההפעלה של הטריגר מסתיימת, המשאבים שנוצרו על ידי הטריגר apply נמחקים.
כדי למחוק את המשאבים שנוצרו במהלך האתחול, מריצים את הפקודה הבאה בחלון המסוף:
bash <(curl https://raw.githubusercontent.com/GoogleCloudPlatform/cloud-build-samples/main/mig-blue-green/teardown.sh)
מחיקת הפרויקט
כדי למחוק Google Cloud פרויקט:
gcloud projects delete PROJECT_ID