בדף הזה מוסבר איך להשתמש ב-Infrastructure Manager כדי לראות תצוגה מקדימה של פריסת המשאבים שמוגדרים בתצורה של Terraform.
בתצוגה המקדימה מתוארות הפעולות להפעלת הגדרה ספציפית של Terraform. לפני שיוצרים פריסה חדשה או מעדכנים פריסה קיימת, אפשר להציג אותה בתצוגה מקדימה כדי לוודא שהמשאבים המתוכננים יוקצו.
בתצוגה המקדימה מופעלת הפקודה Terraform plan. ההנחה היא שאתם מכירים את Terraform. לפרטים נוספים, קראו את המאמר Terraform ו-Infrastructure Manager.
כדי ליצור תצוגה מקדימה, הגדרות Terraform צריכות להיות תואמות לאחת מהגרסאות הנתמכות של Terraform.
לפני שמתחילים
- מפעילים את Infra Manager.
- מוודאים שיש לכם את ההרשאות לניהול זהויות והרשאות גישה (IAM) שנדרשות כדי ליצור תצוגות מקדימות:
roles/config.admin. - מוודאים שיש לכם חשבון שירות עם ההרשאות הנדרשות. לפרטים, ראו הגדרת חשבון השירות.
- מזהים את קובץ התצורה של Terraform שרוצים לראות בתצוגה מקדימה. חשוב לוודא שההגדרות של Terraform תואמות למגבלות, כולל שההגדרות לא מכילות מידע אישי רגיש.
אם אתם רוצים לאחסן את הגדרות Terraform בקטגוריית אחסון, ודאו שהגדרות Terraform הועלו לקטגוריה של Cloud Storage. לפרטים נוספים, קראו את המאמר העלאת הגדרה לקטגוריית אחסון.
קטגוריית אחסון מאפשרת לכם לשלוט בגישה להגדרות האישיות. אפשר גם לפרוס קובץ תצורה של Terraform שמאוחסן במאגר Git או במחשב המקומי.
תצוגה מקדימה של פריסה חדשה
התצוגה המקדימה של הגדרות Terraform יכולה להיות בקטגוריית אחסון או במאגר Git.
תצוגה מקדימה באמצעות הגדרת 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 \ --gcs-source gs://BUCKET_NAME/OBJECT_NAME \ --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \ --tf-version-constraint=TERRAFORM_VERSION \ --annotations="ANNOTATION_KEY=ANNOTATION_VALUE" \ --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.
- 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 נתמכות אם מסירים את הדגל האופציונלי הזה, כברירת מחדל המערכת משתמשת בגרסה העדכנית ביותר של Terraform (
1.5.7) שנתמכת בתוכנית בחינם. כדי להשתמש בגרסה בתשלום (כמו1.16.5), צריך לציין את הגרסה באופן מפורש. לא תחויבו על גרסאות Terraform בתשלום בתצוגות מקדימות.אופציונלי: ANNOTATION_KEY ו-ANNOTATION_VALUE מייצגים צמד של מפתח/ערך של טקסט חופשי שאפשר לצרף לפריסות של Infra Manager. למידע נוסף על השימוש בהערות ובתוויות ועל המגבלות שלהן, ראו הערות ותוויות.
- אופציונלי: PROVIDER_SOURCE: קובע באיזה ספק Terraform משתמשים בפריסה של Google Cloud . מגדירים את הערך
SERVICE_MAINTAINEDכדי להשתמש בספק Terraform שמנוהל על ידי Infra Manager. אם לא משתמשים בשדה הזה, משתמשים בספק Terraform שמנוהל על ידי HashiCorp. מידע נוסף זמין במאמר שימוש בספק Terraform ל- Google Cloud.
שדות מהפריסה, כמו ההגדרות של Terraform, המשתנים וחשבון השירות, מתמזגים באופן אוטומטי בתצוגה המקדימה, אלא אם מציינים ערכים חדשים בפקודת התצוגה המקדימה.
אחרי שיצרתם תצוגה מקדימה, אתם יכולים לייצא את התוצאות ולצפות בהן כדי לבדוק את תוכנית הפריסה.
תצוגה מקדימה באמצעות הגדרת Terraform שמאוחסנת במאגר Git
כשמעדכנים פריסה, יכול להיות שחלק מהמשאבים הקיימים לא ישתנו. בתצוגה המקדימה של העדכון אפשר לראות אילו משאבים מתוכננים להקצאה או למחיקה, ואילו משאבים לא מתוכננים לשינוי.
כדי לעדכן פריסה שמאוחסנת במאגר Git:
אם אתם משתמשים במאגר 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 \ --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 \ --annotations="ANNOTATION_KEY=ANNOTATION_VALUE" \ --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.
- 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 נתמכות אם מסירים את הדגל האופציונלי הזה, כברירת מחדל המערכת משתמשת בגרסה העדכנית ביותר של Terraform (
1.5.7) שנתמכת בתוכנית בחינם. כדי להשתמש בגרסה בתשלום (כמו1.16.5), צריך לציין אותה באופן מפורש. לא תחויבו על גרסאות Terraform בתשלום בתצוגות מקדימות.אופציונלי: ANNOTATION_KEY ו-ANNOTATION_VALUE מייצגים צמד של מפתח/ערך של טקסט חופשי שאפשר לצרף לפריסות של Infra Manager. למידע נוסף על השימוש בהערות ובתוויות ועל המגבלות שלהן, ראו הערות ותוויות.
- אופציונלי: PROVIDER_SOURCE: קובע באיזה ספק Terraform משתמשים בפריסה של Google Cloud . מגדירים את הערך
SERVICE_MAINTAINEDכדי להשתמש בספק Terraform שמנוהל על ידי Infra Manager. אם לא משתמשים בשדה הזה, משתמשים בספק Terraform שמנוהל על ידי HashiCorp. מידע נוסף זמין במאמר שימוש בספק Terraform ל- Google Cloud.
שדות מהפריסה, כמו ההגדרות של Terraform, המשתנים וחשבון השירות, מתמזגים באופן אוטומטי בתצוגה המקדימה, אלא אם מציינים ערכים חדשים בפקודת התצוגה המקדימה.
אחרי שיצרתם תצוגה מקדימה, אתם יכולים לייצא את התוצאות ולצפות בהן כדי לבדוק את תוכנית הפריסה.
אחרי שצופים בתצוגה מקדימה של פריסה, אפשר ליצור את הפריסה כדי להקצות את המשאבים. לפרטים, ראו פריסת משאבים.
המאמרים הבאים
- ייצוא וצפייה בתוצאות של התצוגה המקדימה
- משתמשים ב-Infra Manager כדי לפרוס משאבים.
- אוטומציה של פריסות.
- מידע נוסף על Terraform עם Infra Manager