בדף הזה מוסבר איך להשתמש ב-Infrastructure Manager כדי לראות תצוגה מקדימה של פריסת המשאבים שמוגדרים בתצורה של Terraform.
בתצוגה המקדימה מתוארות הפעולות להפעלת הגדרה ספציפית של Terraform. לפני שיוצרים פריסה חדשה או מעדכנים פריסה קיימת, אפשר להציג אותה בתצוגה מקדימה כדי לוודא שהמשאבים המתוכננים יוקצו.
בתצוגה המקדימה מופעלת הפקודה Terraform plan. ההנחה היא שאתם מכירים את Terraform. לפרטים נוספים, קראו את המאמר Terraform ו-Infrastructure Manager.
כדי ליצור תצוגה מקדימה, הגדרות Terraform צריכות להיות תואמות לאחת מהגרסאות הנתמכות של Terraform.
לפני שמתחילים
- מפעילים את Infra Manager.
- מוודאים שיש לכם את הרשאות ה-IAM שנדרשות כדי ליצור תצוגות מקדימות:
roles/config.admin. - מוודאים שיש לכם חשבון שירות עם ההרשאות הנדרשות. לפרטים, ראו הגדרת חשבון השירות.
- מזהים את קובץ התצורה של Terraform שרוצים לראות בתצוגה מקדימה. חשוב לוודא שההגדרות של Terraform תואמות למגבלות, כולל שההגדרות לא מכילות מידע אישי רגיש.
תצוגה מקדימה של עדכון לפריסה
הגדרת Terraform שבה אתם משתמשים כדי לעדכן פריסה יכולה להיות בקטגוריית אחסון או במאגר Git.
אתם גם משתמשים בהגדרת Terraform הזו כדי לראות תצוגה מקדימה של העדכון.
תצוגה מקדימה באמצעות הגדרת Terraform שמאוחסנת בקטגוריה של Cloud Storage
כשמעדכנים פריסה, יכול להיות שחלק מהמשאבים הקיימים לא ישתנו. בתצוגה המקדימה של העדכון אפשר לראות אילו משאבים מתוכננים להקצאה או למחיקה, ואילו משאבים לא מתוכננים לשינוי.
מזהים את הפריסה שרוצים לעדכן.
מוודאים שהתצורה של Terraform הועלתה לקטגוריה של Cloud Storage. לפרטים נוספים, קראו את המאמר העלאת הגדרה לקטגוריית אחסון.
קטגוריית אחסון מאפשרת לכם לשלוט בגישה להגדרות האישיות. אפשר גם לפרוס קובץ תצורה של Terraform שמאוחסן במאגר Git או במחשב המקומי.
כדי לראות תצוגה מקדימה של העדכון:
gcloud infra-manager previews create projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID \ --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \ --deployment=projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \ --gcs-source gs://BUCKET_NAME/OBJECT_NAME \ --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \ --tf-version-constraint=TERRAFORM_VERSION \ --provider-source=SERVICE_MAINTAINED
מחליפים את:
- PROJECT_ID הוא מזהה הפרויקט שבו פועל Infrastructure Manager.
- LOCATION הוא המיקום שבו פועל Infra Manager. לרשימת המיקומים התקינים של Infrastructure Manager
- PREVIEW_ID הוא מזהה התצוגה המקדימה שאתם מציינים. בקטע שם התצוגה המקדימה מפורטות המגבלות על מזהה התצוגה המקדימה.
- SERVICE_ACCOUNT הוא השם של חשבון השירות שמשמש לקריאה ל-Infra Manager.
- SERVICE_ACCOUNT_PROJECT_ID הוא מזהה הפרויקט של חשבון השירות. בדרך כלל זה אותו פרויקט שבו פועל Infra Manager.
- DEPLOYMENT_ID הוא מזהה הפריסה שרוצים לעדכן.
- BUCKET_NAME הוא השם של קטגוריית האחסון שבה מאוחסנת התצורה.
OBJECT_NAME הוא שם האובייקט של קובץ התצורה. האובייקט הזה יכול להיות ספרייה או קובץ ZIP, אבל לא קובץ Terraform. אם אתם משתמשים בניהול גרסאות של אובייקטים, אתם יכולים גם לציין את מספר הדור של האובייקט. פרטים נוספים זמינים במאמר שימוש באובייקטים עם גרסאות.
אם קטגוריית האחסון היא נתיב הבסיס של הגדרת Terraform, אז OBJECT_NAME הוא אופציונלי.
INPUT_1_NAME=VALUE ו-INPUT_2_NAME=VALUE: כל ערכי הקלט בתצורה של Terraform, כולל ערכים שלא מוגדרים כברירת מחדל. לדוגמה, אפשר לציין את הפרויקט שבו פורסים את המשאבים בתור
project_id=my-project.אם כל ערכי הקלט מוגדרים כברירת מחדל בתצורה, הדגל הזה הוא אופציונלי.
TERRAFORM_VERSION (אופציונלי): גרסת Terraform שבה Infra Manager ישתמש כדי להציג את העדכון של הפריסה בתצוגה מקדימה. כאן מופיעה רשימת הגרסאות הנתמכות של Terraform. אם תסירו את הדגל האופציונלי הזה, Infra Manager ישתמש בגרסת Terraform של הפריסה הקיימת, או יחזור כברירת מחדל לגרסה העדכנית ביותר של Terraform שנתמכת בתוכנית בחינם (
1.5.7). לא תחויבו על גרסאות Terraform בתשלום בתצוגות מקדימות.- אופציונלי: PROVIDER_SOURCE: קובע באיזה ספק Terraform משתמשים בפריסה של Google Cloud . מגדירים את הערך
SERVICE_MAINTAINEDכדי להשתמש בספק Terraform שמנוהל על ידי Infra Manager. אם לא משתמשים בשדה הזה, משתמשים בספק Terraform שמנוהל על ידי HashiCorp. מידע נוסף זמין במאמר שימוש בספק Terraform ל- Google Cloud.
שדות מהפריסה, כמו ההגדרות של Terraform, המשתנים וחשבון השירות, מתמזגים באופן אוטומטי בתצוגה המקדימה, אלא אם מציינים ערכים חדשים בפקודת התצוגה המקדימה.
אחרי שיצרתם תצוגה מקדימה, אתם יכולים לייצא את התוצאות ולצפות בהן כדי לבדוק את תוכנית הפריסה.
תצוגה מקדימה באמצעות הגדרת Terraform שמאוחסנת במאגר Git
כשמעדכנים פריסה, יכול להיות שחלק מהמשאבים הקיימים לא ישתנו. בתצוגה המקדימה של העדכון אפשר לראות אילו משאבים מתוכננים להקצאה או למחיקה, ואילו משאבים לא מתוכננים לשינוי.
- אם הגדרת Terraform מאוחסנת במאגר Git פרטי ועדיין לא עשיתם זאת, ודאו שהתחברתם למארח GitHub ולמאגר GitHub באמצעות Cloud Build כדי לספק ל-Infra Manager גישה למאגר.
כדי לעדכן פריסה:
gcloud infra-manager previews create projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID \ --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \ --deployment=projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \ --git-source-repo="GIT_REPO" \ --git-source-directory="DIRECTORY" \ --git-source-ref="REF" \ --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \ --tf-version-constraint=TERRAFORM_VERSION \ --provider-source=SERVICE_MAINTAINED
מחליפים את:
- PROJECT_ID הוא מזהה הפרויקט שבו פועל Infrastructure Manager.
- LOCATION הוא המיקום שבו פועל Infra Manager. לרשימת המיקומים התקינים של Infrastructure Manager
- PREVIEW_ID הוא מזהה התצוגה המקדימה שאתם מציינים. בקטע שם התצוגה המקדימה מפורטות המגבלות על מזהה התצוגה המקדימה.
- SERVICE_ACCOUNT הוא השם של חשבון השירות שמשמש לקריאה ל-Infra Manager.
- SERVICE_ACCOUNT_PROJECT_ID הוא מזהה הפרויקט של חשבון השירות. בדרך כלל זה אותו פרויקט שבו פועל Infra Manager.
- DEPLOYMENT_ID הוא מזהה הפריסה שרוצים לעדכן.
- GIT_REPO: מאגר Git.
- DIRECTORY: הספרייה שבה נמצאת התצורה של Terraform.
- REF: ההפניה ל-Git של ההגדרות האישיות. ההפניה היא אופציונלית. אם לא מציינים את ההפניה, המערכת משתמשת בהסתעפות שמוגדרת כברירת מחדל במאגר Git.
INPUT_1_NAME=VALUE ו-INPUT_2_NAME=VALUE: כל ערכי הקלט בתצורה של Terraform, כולל ערכים שלא מוגדרים כברירת מחדל. לדוגמה, אפשר לציין את הפרויקט שבו פורסים את המשאבים בתור
project_id=my-project.אם כל ערכי הקלט מוגדרים כברירת מחדל בתצורה, הדגל הזה הוא אופציונלי.
TERRAFORM_VERSION (אופציונלי): גרסת Terraform שבה Infra Manager ישתמש כדי להציג את העדכון של הפריסה בתצוגה מקדימה. גרסאות Terraform נתמכות אם תסירו את הדגל האופציונלי הזה, Infra Manager ישתמש בגרסת Terraform של הפריסה הקיימת, או יחזור כברירת מחדל לגרסה העדכנית ביותר של Terraform שנתמכת בתוכנית בחינם (
1.5.7). לא תחויבו על גרסאות Terraform בתשלום בתצוגות מקדימות.- אופציונלי: PROVIDER_SOURCE: קובע באיזה ספק Terraform משתמשים בפריסה של Google Cloud . מגדירים את הערך
SERVICE_MAINTAINEDכדי להשתמש בספק Terraform שמנוהל על ידי Infra Manager. אם לא משתמשים בשדה הזה, משתמשים בספק Terraform שמנוהל על ידי HashiCorp. מידע נוסף זמין במאמר שימוש בספק Terraform ל- Google Cloud.
שדות מהפריסה, כמו ההגדרות של Terraform, המשתנים וחשבון השירות, מתמזגים באופן אוטומטי בתצוגה המקדימה, אלא אם מציינים ערכים חדשים בפקודת התצוגה המקדימה.
אחרי שיצרתם תצוגה מקדימה, אתם יכולים לייצא את התוצאות ולצפות בהן כדי לבדוק את תוכנית הפריסה.
המאמרים הבאים
- ייצוא וצפייה בתוצאות של התצוגה המקדימה
- משתמשים ב-Infra Manager כדי לפרוס משאבים.
- אוטומציה של פריסות.
- מידע נוסף על Terraform עם Infra Manager