בדף הזה מוסבר איך להשתמש ב-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 שנתמכת.
אופציונלי: 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 שנתמכת.
אופציונלי: 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