במדריך הזה נסביר איך לבצע פריסות כחול/ירוק ללא השבתה בקבוצות של מכונות מנוהלות (MIG) ב-Compute Engine באמצעות Cloud Build ו-Terraform.
באמצעות Cloud Build אפשר להפוך לאוטומטיים מגוון תהליכים של מפתחים, כולל פיתוח ופריסה של אפליקציות בסביבות זמן ריצה שונות של Google Cloud , כמו Compute Engine, Google Kubernetes Engine, GKE Enterprise ופונקציות של Cloud Run.
קבוצות של מכונות מנוהלות (MIG) ב-Compute Engine מאפשרות להפעיל אפליקציות בכמה מכונות וירטואליות (VM) זהות. אתם יכולים להפוך את עומסי העבודה שלכם לניתנים להרחבה ולזמינים מאוד על ידי ניצול שירותים אוטומטיים של MIG, כולל: התאמה אוטומטית לעומס, תיקון תוכנה אוטומטי, פריסה אזורית (מספר אזורים) ועדכון אוטומטי. באמצעות מודל הפריסה הרציפה blue/green, תלמדו איך להעביר בהדרגה תנועת משתמשים מקבוצת מופעים מנוהלת אחת (blue) לקבוצת מופעים מנוהלת אחרת (green), כששתי הקבוצות פועלות בסביבת ייצור.
לפני שמתחילים
מפעילים את Cloud Build API, Cloud Run API, Artifact Registry API ו-Resource Manager API (מנהל המשאבים), אם אחד מהם עדיין לא מופעל.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים
חשוב להכין את קוד המקור של האפליקציה. קוד המקור צריך להיות מאוחסן במאגר כמו GitHub או Bitbucket.
כדי להריץ את הפקודות
gcloudשבדף הזה, צריך להתקין את Google Cloud CLI.
הרשאות נדרשות לניהול זהויות והרשאות גישה (IAM)
-
במסוף Google Cloud , נכנסים לדף settings Cloud Build Permissions:
בחשבון השירות שצוין ב-Cloud Build או בחשבון השירות שמוגדר כברירת מחדל ב-Cloud Build, מגדירים את הסטטוס של התפקידים הבאים למופעל:
- Compute Instance Admin v1 (
roles/compute.instanceAdmin) | מאפשר ל-Cloud Build לפרוס מופעים חדשים ב-Compute Engine.- בחלונית Assign Service Account User Role (הקצאת תפקיד משתמש בחשבון שירות), בוחרים חשבון שירות להתחזות אליו ולוחצים על Grant Permission (הענקת הרשאה).
- אדמין לניהול נפח האחסון (
roles/storage.admin) | מאפשר קריאה וכתיבה מ-Cloud Storage. - Artifact Registry Writer (
roles/artifactregistry.writer) | מאפשר שליפת תמונות מ-Artifact Registry וכתיבה ב-Artifact Registry. - כותב יומנים (
roles/logging.logWriter) | מאפשר לכתוב רשומות ביומן ב-Cloud Logging. - עריכה ב-Cloud Build (
roles/cloudbuild.builds.editor) | מאפשר לחשבון השירות להריץ בנייה.
- Compute Instance Admin v1 (
סקירה כללית של העיצוב
בתרשים הבא מוצג מודל הפריסה הכחול-ירוק שבו נעשה שימוש בדוגמת הקוד שמתוארת במסמך הזה:
המודל הזה כולל את הרכיבים הבאים:
- שתי קבוצות של מכונות וירטואליות ב-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 .
מפעילים את Cloud Build API, Cloud Run API, Artifact Registry API ו-Resource Manager API, אם אחד מהם עדיין לא מופעל:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים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 .
מפעילים את Cloud Build API, Cloud Run API, Artifact Registry API ו-Resource Manager API, אם אחד מהם עדיין לא מופעל:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים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 details, שבו מוצג צינור של Cloud Build עם שלושה שלבי build: בשלב הראשון נוצר מאגר ב-Cloud Source Repositories, בשלב השני משובטים התכנים של מאגר הדוגמה ב-GitHub ל-Cloud Source Repositories, ובשלב השלישי מתווספים שני טריגרים של build.
פותחים את Cloud Source Repositories:
ברשימת המאגרים, לוחצים על
copy-of-gcp-mig-simple.בכרטיסייה היסטוריה בחלק התחתון של הדף, יופיע קומיט אחד עם התיאור
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מפעיל את הביצוע שלapplytrigger, שמתחיל את הפריסה.
פותחים את Cloud Source Repositories:
ברשימת המאגרים, לוחצים על
copy-of-gcp-mig-simple.ההתחייבות תופיע עם התיאור
Promote greenבכרטיסייה היסטוריה בתחתית הדף.כדי לראות את ההפעלה של הטריגר
apply, פותחים את הדף Build history במסוף Google Cloud :לוחצים על ה-build הראשון כדי לפתוח את הדף Build details (פרטי ה-build).
תראו את צינור ההפעלה
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שלב 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.
קבצי הגדרות הבנייה משתמשים בפקודה 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 מגדיר את האובייקטים שנוצרים עבור קבוצת ה-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 הכחולה והירוקה. בקטע הקוד הבא מהקובץ הזה מוגדרת תבנית של הגדרות מכונה של 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