HashiCorp Terraform הוא כלי מסוג תשתית כקוד (IaC), שבעזרתו אפשר להקצות ולנהל תשתית ענן. Terraform מספקת פלאגינים שנקראים ספקים, שמאפשרים לכם ליצור אינטראקציה עם ספקי ענן וממשקי API אחרים. אתם יכולים להשתמש בפלאגין שמתממשק עם שירותים חיצוניים של Terraform ל- Google Cloud כדי להקצות ולנהל משאבים של Google Cloud , כולל Cloud Build.
בדף הזה מוסבר איך להשתמש ב-Terraform עם Cloud Build, כולל מבוא לאופן הפעולה של Terraform וכמה משאבים שיעזרו לכם להתחיל להשתמש ב-Terraform עם Google Cloud. בנוסף, תמצאו קישורים למסמכי העזר של Terraform בנושא Cloud Build, דוגמאות קוד ומדריכים לשימוש ב-Terraform כדי להקצות משאבי Cloud Build.
הוראות לתחילת העבודה עם Terraform ל- Google Cloudזמינות במאמרים התקנה והגדרה של Terraform או הפעלה מהירה של Terraform ל- Google Cloud .
איך Terraform עובד
ל-Terraform יש תחביר הצהרתי ומבוסס-הגדרות, שבו אפשר להשתמש כדי לתאר את התשתית שרוצים להקצות בפרויקט Google Cloud . אחרי שיוצרים את התצורה הזו בקובץ תצורה אחד או יותר של Terraform, אפשר להשתמש ב-Terraform CLI כדי להחיל את התצורה הזו על משאבי Cloud Build.
השלבים הבאים מסבירים איך Terraform פועל:
- אתם מתארים את התשתית שאתם רוצים להקצות בקובץ תצורה של Terraform. אין צורך לכתוב קוד שמתאר איך להקצות את התשתית. Terraform מקצה את התשתית בשבילכם.
- מריצים את הפקודה
terraform plan, שמעריכה את ההגדרות ומפיקה תוכנית ביצוע. אפשר לבדוק את התוכנית ולבצע שינויים לפי הצורך. -
מריצים את הפקודה
terraform apply, שמבצעת את הפעולות הבאות:- הוא מקצה את התשתית על סמך תוכנית הביצוע על ידי הפעלת ממשקי Cloud Build API המתאימים ברקע.
- הפקודה יוצרת קובץ מצב של Terraform, שהוא קובץ JSON שממפה את המשאבים בקובץ ההגדרות למשאבים בתשתית בעולם האמיתי. Terraform משתמש בקובץ הזה כדי לשמור תיעוד של המצב האחרון של התשתית, וכדי לקבוע מתי ליצור, לעדכן ולמחוק משאבים.
-
כשמריצים את הפקודה
terraform apply, Terraform משתמשת במיפוי שבקובץ המצב כדי להשוות בין התשתית הקיימת לבין הקוד, ומבצעת עדכונים לפי הצורך:- אם אובייקט משאב מוגדר בקובץ התצורה, אבל לא קיים בקובץ המצב, Terraform יוצר אותו.
- אם אובייקט משאב קיים בקובץ המצב, אבל יש לו הגדרה שונה מזו שבקובץ ההגדרות, Terraform מעדכן את המשאב כך שיתאים לקובץ ההגדרות.
- אם אובייקט משאב בקובץ המצב תואם לקובץ התצורה, Terraform לא משנה את המשאב.
משאבים של Terraform ל-Cloud Build
משאבים הם הרכיבים הבסיסיים בשפת Terraform. כל בלוק משאבים מתאר אובייקט תשתית אחד או יותר, כמו רשתות וירטואליות או מופעי מחשוב.
בטבלה הבאה מפורטים המשאבים של Terraform שזמינים ל-Cloud Build:
| שירות Cloud Build | משאבי Terraform | מקורות נתונים |
|---|---|---|
| Cloud Build v1 | google_cloudbuild_trigger
|
|
| Cloud Build v2 | google_cloudbuildv2_connection_iam_policy |
מדריכים מבוססי Terraform ל-Cloud Build
בטבלה הבאה מפורטים מדריכים ומדריכים מבוססי Terraform ל-Cloud Build:
| מדריך | פרטים |
|---|---|
| קישור למאגר ב-GitHub | במדריך הזה נסביר איך לחבר מאגר GitHub ל-Cloud Build באמצעות Terraform. |
| התחברות למארח GitHub Enterprise | במדריך הזה נסביר איך לחבר מארח של GitHub Enterprise ל-Cloud Build באמצעות Terraform. |
| קישור למאגר GitHub Enterprise | במדריך הזה נסביר איך לחבר מאגר GitHub Enterprise ל-Cloud Build באמצעות Terraform. |
| קישור למארח של GitLab Enterprise Edition | במדריך הזה מוסבר איך לחבר מארח של GitLab Enterprise Edition ל-Cloud Build באמצעות Terraform. |
| חיבור למאגר GitLab Enterprise Edition | במדריך הזה מוסבר איך לחבר מאגר GitLab Enterprise Edition ל-Cloud Build באמצעות Terraform. |
| התחברות למארח Bitbucket Data Center | במדריך הזה מוסבר איך לחבר מארח של Bitbucket Data Center ל-Cloud Build באמצעות Terraform. |
| התחברות למאגר Bitbucket Data Center | במדריך הזה מוסבר איך לחבר מאגר Bitbucket Data Center ל-Cloud Build באמצעות Terraform. |
| התחברות למארח Bitbucket Cloud | במדריך הזה מוסבר איך לחבר מארח Bitbucket Cloud ל-Cloud Build באמצעות Terraform. |
| חיבור למאגר Bitbucket Cloud | במדריך הזה מוסבר איך לקשר מאגר Bitbucket Cloud ל-Cloud Build באמצעות Terraform. |
| פריסה ב-Compute Engine | במדריך הזה נסביר איך לבצע פריסות כחול-ירוק ללא השבתה בקבוצות של מכונות מנוהלות (MIG) ב-Compute Engine באמצעות Cloud Build ו-Terraform. |
| יצירת טריגר מסוג push ב-Developer Connect | בדוגמת הקוד הזו מוסבר איך ליצור טריגר של Developer Connect באמצעות Terraform. |
| יצירת טריגר משיכה ב-Developer Connect | בדוגמת הקוד הזו מוסבר איך ליצור טריגר משיכה של Developer Connect באמצעות Terraform. |
מודולים ותוכניות לניהול של Terraform ב-Cloud Build
מודולים ותוכניות לניהול מאפשרים לנהל באופן אוטומטי את הקצאת ההרשאות והמשאבים ב- Google Cloud בקנה מידה רחב. מודול הוא קבוצה של קובצי תצורה לשימוש חוזר ב-Terraform שיוצרים הפשטה לוגית של המשאבים ב-Terraform. תוכנית לניהול היא חבילה של מודולים לשימוש חוזר שאפשר לפרוס, והיא מיישמת ומתעדת פתרון מקובע מסוים.
בטבלה הבאה מפורטים מודולים ותוכניות שקשורים ל-Cloud Build:
| מודול או תוכנית ניהול | פרטים |
|---|---|
| צינור עיבוד נתונים מאובטח של CI/CD | המודול הזה מאפשר ללקוחות להטמיע במהירות צינור CI/CD מאובטח, וליישם רבות מהפונקציות שמפורטות במאמר הזזת האבטחה שמאלה. Google Cloud |
terraform-google-bootstrap |
המודול הזה עוזר להפעיל Google Cloud ארגון, וליצור את כל המשאבים וההרשאות שנדרשים כדי להתחיל להשתמש ב-Cloud Foundation Toolkit (CFT). למשתמשים שרוצים להשתמש ב-Cloud Build וב-Cloud Source Repositories בשביל קוד של פלטפורמות, המודול הזה כולל מודול משנה שמאתחל את כל המשאבים הנדרשים. |
המאמרים הבאים
- דוגמאות לקוד Terraform ל-Cloud Build
- מסמכי תיעוד של Terraform on Google Cloud
- Google Cloud מסמכי התיעוד של ספק ב-HashiCorp
- תשתית כקוד ל- Google Cloud