עדכון פריסה

בדף הזה מוסבר איך להשתמש ב-Infrastructure Manager כדי לעדכן פריסה. מקרים שבהם כדאי לעדכן פריסה:

  • כדי להחזיר את התשתית למצב שנבחר.

    כשיוצרים פריסה, יכול להיות שמשאבים ישתנו אחרי זמן מה. לדוגמה, יכול להיות שמישהו שפועל במסוף שינה חלק מהמשאבים. אפשר לעדכן את הפריסה באמצעות ההגדרות המקוריות של Terraform כדי להחזיר אותה למצב הרצוי.

  • כדי להטמיע שינויים בתשתית.

    אחרי שיוצרים פריסה, יכול להיות שתרצו לשנות את התשתית. לדוגמה, הוספת משאבים חדשים או שינוי חלק מההגדרות. אפשר לעדכן את הפריסה באמצעות הגדרת Terraform שמתארת את התשתית החדשה.

בדף הזה אנחנו מניחים שאתם מכירים את Terraform. פרטים נוספים זמינים במאמר בנושא Terraform ו-Infra Manager.

לפני שמתחילים

  1. מוודאים ש-Infra Manager מופעל.
  2. מוודאים שיש לכם את הרשאות ה-IAM שנדרשות ליצירת פריסות: roles/config.admin
  3. מוודאים שיש לכם חשבון שירות עם ההרשאות הנדרשות. פרטים נוספים זמינים במאמר הגדרת חשבון השירות.
  4. מזהים את פריסת Infra Manager שרוצים לעדכן.
  5. מאתרים את ההגדרות של Terraform שרוצים לפרוס לצורך העדכון. אפשר להשתמש בכל הגדרה לתיקון. ההגדרה הזו היא לרוב גרסה זהה או מעודכנת של ההגדרה שכבר נפרסה.

    מוודאים שהתצורה של Terraform עומדת במגבלות, כולל העובדה שהתצורה לא מכילה מידע אישי רגיש.

  6. אישור המכסה של הארגון למוצרים שמשויכים לתשתית הרצויה. יכול להיות שתיתקלו בשגיאות פריסה אם התשתית המיועדת חורגת מהמכסה של הארגון למוצרים שבהם נעשה שימוש בפריסה. מידע נוסף מופיע במאמר מכסות ומגבלות.

  7. מבצעים את הפעולות הנדרשות להעברת נתונים או להמשכיות השירות עבור המשאבים שמשנים.

  8. אם רוצים לראות תצוגה מקדימה של העדכון לפני שמגדירים משאבים, אפשר לעיין במאמר בנושא תצוגה מקדימה של עדכון לפריסה.

הענקת הרשאות שספציפיות להגדרה

כדי לפרוס משאבים שצוינו בהגדרות Terraform, לחשבון השירות שמשמש לקריאה ל-Infra Manager צריכות להיות הרשאות ספציפיות ל: Google Cloud

  • Google Cloud משאבים שמוגדרים בהגדרה שבה אתם משתמשים לגרסה.

  • אם ההגדרה שבה אתם משתמשים לתיקון מגדירה משאבים שונים מההגדרה שבה השתמשתם לפריסה, תצטרכו הרשאות למשאבים שמוגדרים בשתי ההגדרות.

ההרשאות שספציפיות למשאבים שמוגדרים בהגדרה הן בנוסף להרשאות שחשבון השירות צריך כדי להשתמש בשירות Infra Manager.

פרטים על מתן הרשאות למשאבים ועל וידוא שיש לכם גישה לפרויקטים הנדרשים זמינים במאמר הגדרת חשבון השירות. Google Cloud

חיבור מאגר Git פרטי ומארח ל-Cloud Build

אם אתם פורסים הגדרות של Terraform ממאגר Git פרטי, אתם צריכים לחבר את מארח Git ואת המאגר ל-Cloud Build.

עדכון פריסה

כדי לעדכן פריסה, פורסים הגדרה באמצעות אותו שם פריסה, וכך נוצרת גרסה. פרטים נוספים זמינים במאמר סקירה כללית על פריסות ועדכונים.

אם אין לכם פריסה קיימת, אפשר לעיין במאמר בנושא פריסת תשתית באמצעות Infra Manager.

כדי לראות תצוגה מקדימה של עדכון בלי הקצאת משאבים, אפשר לעיין במאמר בנושא תצוגה מקדימה של פריסה.

בכרטיסייה עם תהליך העבודה שבחרתם, תוכלו לקבל מידע נוסף על אופן העדכון של פריסה.

המסוף

בקטע הזה מוסבר איך לעדכן הגדרת Terraform באמצעות Infra Manager במסוף Google Cloud .

פורסים את ההגדרה ויוצרים עדכון:

  1. נכנסים לדף Infra Manager במסוף Google Cloud .

    מעבר אל Infra Manager

  2. בדף פריסות, מחפשים בעמודה מזהה את הפריסה שרוצים לעדכן ולוחצים עליה.
  3. בדף עם מזהה הפריסה, לוחצים על עריכה.
  4. בדף פרטי פריסה, אפשר לשנות את השדות גרסת Terraform, ‏ חשבון שירות,‏ ו-מקור תצורת Terraform. אם אתם מספקים מאגר Git פרטי, ודאו שחיברתם את המארח והמאגר ל-Cloud Build.

    לוחצים על Continue.

  5. בדף פרטי Terraform, אפשר לשנות את ערכי הקלט של הגדרות Terraform. לוחצים על המשך.
  6. בדף פרטים מתקדמים, אפשר לשנות את השדות תוויות והערות, מאגרי עובדים וקטגוריית Cloud Storage של ארטיפקטים.
  7. אחרי שמרוצים מהשינויים שביצעתם בפריסה, לוחצים על עדכון כדי להתחיל את תהליך העדכון.

למידע נוסף על פרמטרים של פריסה והפורמטים שלהם, אפשר לעיין במאמר בנושא פריסת משאבים.

‫CLI של gcloud

בקטע הזה מתואר פריסה של הגדרת Terraform שמאוחסנת בקטגוריה של Cloud Storage. קטגוריית אחסון מאפשרת לכם לשלוט בגישה להגדרה.

  1. מוודאים שהתצורה של Terraform נמצאת בקטגוריה של Cloud Storage. פרטים נוספים זמינים במאמר בנושא העלאת הגדרה לקטגוריית אחסון.
  2. אם מאגר האחסון נמצא בפרויקט אחר מהפרויקט שבו מריצים את Infra Manager, צריך לוודא שלחשבון השירות של Infra Manager יש הרשאת קריאה למאגר. פרטים נוספים זמינים במאמר הגדרת חשבון השירות.

    אם קטגוריית האחסון נמצאת באותו פרויקט כמו Infra Manager, הרשאת הקריאה לקטגוריה כבר מופעלת.

  3. פורסים את ההגדרה ויוצרים עדכון:

    gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \
            --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \
            --gcs-source gs://BUCKET_NAME/OBJECT_NAME \
            --quota-validation=QUOTA_VALIDATION \
            --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: מזהה הפרויקט שבו פועל Infra Manager.
  • LOCATION: המיקום שבו פועל Infra Manager. ראו מיקומי Infra Manager לקבלת רשימת המיקומים התקפים.
  • DEPLOYMENT_ID: מזהה הפריסה שציינתם. פרטים על אילוצים לגבי מזהה הפריסה מופיעים במאמר בנושא שם הפריסה.
  • SERVICE_ACCOUNT_PROJECT_ID הוא מזהה הפרויקט של חשבון השירות. בדרך כלל זה אותו פרויקט שבו פועל Infra Manager.
  • SERVICE_ACCOUNT: השם של חשבון השירות שמשמש לקריאה ל-Infra Manager.
  • BUCKET_NAME: השם של קטגוריית האחסון שבה מאוחסנת ההגדרה.
  • OBJECT_NAME: שם האובייקט של קובץ ההגדרות. האובייקט הזה יכול להיות ספרייה או קובץ ZIP, אבל לא קובץ Terraform. אם אתם משתמשים בניהול גרסאות של אובייקטים, אתם יכולים לציין גם את מספר הדור של האובייקט. פרטים נוספים מופיעים במאמר בנושא שימוש באובייקטים עם גרסאות.

    אם מאגר האחסון הוא נתיב הבסיס של הגדרת Terraform, אז OBJECT_NAME הוא אופציונלי.

  • אופציונלי: QUOTA_VALIDATION: הערך שקובע אם אימות המכסה למשאבים בקובצי ההגדרות של Terraform מופעל או נאכף כשיוצרים פריסה. הערכים האפשריים כוללים:
    • ENABLED: הפעלת אימות של מכסת המחשוב למשאבים בקובצי תצורה של Terraform. הוא מאפשר לראות משאבים עם מכסות לא מספיקות.
    • ENFORCED: הפעלת אימות של מכסת השימוש, כך שהפריסה תיכשל אם אין מכסת שימוש מספקת לתשתית שהוגדרה בקובץ התצורה של Terraform.

    אם לא מוגדר QUOTA_VALIDATION, אימות המכסה בקובצי ההגדרות של Terraform יושבת. זה ערך ברירת המחדל. אימות המכסה חל על משאבים מוגבלים Google Cloud . מידע נוסף זמין במאמר מכסות ומגבלות.

  • INPUT_1_NAME ו-INPUT_2_NAME: כל ערכי הקלט בתצורת 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.

‫CLI של gcloud

בקטע הזה מוסבר איך לעבוד עם הגדרת Terraform שמאוחסנת במאגר Git.

  1. מוודאים ש-Git מותקן.
  2. אם הגדרת Terraform מאוחסנת במאגר Git פרטי, צריך לוודא שמארח Git והמאגר מחוברים ל-Cloud Build.
  3. פורסים את ההגדרה ויוצרים עדכון:

    gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \
            --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \
            --git-source-repo="GIT_REPO" \
            --git-source-directory="DIRECTORY" \
            --git-source-ref="REF" \
            --quota-validation=QUOTA_VALIDATION \
            --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: מזהה הפרויקט שבו פועל Infra Manager.
  • LOCATION: המיקום שבו פועל Infra Manager. ראו מיקומי Infra Manager לקבלת רשימת המיקומים התקפים.
  • DEPLOYMENT_ID: מזהה הפריסה שציינתם. פרטים על אילוצים לגבי מזהה הפריסה מופיעים במאמר בנושא שם הפריסה.
  • SERVICE_ACCOUNT_PROJECT_ID הוא מזהה הפרויקט של חשבון השירות. בדרך כלל זה אותו פרויקט שבו פועל Infra Manager.
  • SERVICE_ACCOUNT: השם של חשבון השירות שמשמש לקריאה ל-Infra Manager.
  • GIT_REPO: מאגר Git.
  • DIRECTORY: הספרייה שכוללת את התצורה של Terraform.
  • אופציונלי: REF: ההפניה ל-Git של ההגדרה. ההפניה היא אופציונלית. אם לא מציינים את ההפניה, המערכת משתמשת בענף שמוגדר כברירת מחדל במאגר Git.
  • אופציונלי: QUOTA_VALIDATION: הערך שקובע אם אימות המכסה למשאבים בקובצי ההגדרות של Terraform מופעל או נאכף כשיוצרים פריסה. הערכים האפשריים כוללים:
    • ENABLED: הפעלת אימות של מכסת המחשוב למשאבים בקובצי תצורה של Terraform. הוא מאפשר לראות משאבים עם מכסות לא מספיקות.
    • ENFORCED: הפעלת אימות של מכסת השימוש, כך שהפריסה תיכשל אם אין מכסת שימוש מספקת לתשתית שהוגדרה בקובץ התצורה של Terraform.

    אם לא מוגדר QUOTA_VALIDATION, אימות המכסה בקובצי ההגדרות של Terraform יושבת. זה ערך ברירת המחדל. אימות המכסה חל על משאבים מוגבלים Google Cloud . מידע נוסף זמין במאמר מכסות ומגבלות.

  • INPUT_1_NAME ו-INPUT_2_NAME: כל ערכי הקלט בתצורת 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.

‫CLI של gcloud

בקטע הזה מוסבר איך לעבוד עם תצורת Terraform שמאוחסנת במחשב המקומי.

  1. אם משתמשים ב-Cloud Shell, צריך להעלות את ההגדרה ל-Cloud Shell. פרטים נוספים זמינים במאמר בנושא ניהול קבצים באמצעות Cloud Shell.
  2. פורסים את ההגדרה ויוצרים עדכון:

    gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \
            --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \
            --local-source="LOCAL_DIRECTORY" \
            --quota-validation=QUOTA_VALIDATION \
            --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: מזהה הפרויקט שבו פועל Infra Manager.
  • LOCATION: המיקום שבו פועל Infra Manager. ראו מיקומי Infra Manager לקבלת רשימת המיקומים התקפים.
  • DEPLOYMENT_ID: מזהה הפריסה שציינתם. פרטים על אילוצים לגבי מזהה הפריסה מופיעים במאמר בנושא שם הפריסה.
  • SERVICE_ACCOUNT_PROJECT_ID הוא מזהה הפרויקט של חשבון השירות. בדרך כלל זה אותו פרויקט שבו פועל Infra Manager.
  • SERVICE_ACCOUNT: השם של חשבון השירות שמשמש לקריאה ל-Infra Manager.
  • LOCAL_DIRECTORY: הספרייה המקומית שבה מאוחסנת התצורה של Terraform. אם אתם משתמשים ב-Cloud Shell, זו הספרייה ב-Cloud Shell שבה מאוחסנת ההגדרה.
  • אופציונלי: QUOTA_VALIDATION: הערך שקובע אם אימות המכסה למשאבים בקובצי ההגדרות של Terraform מופעל או נאכף כשיוצרים פריסה. הערכים האפשריים כוללים:
    • ENABLED: הפעלת אימות של מכסת המחשוב למשאבים בקובצי תצורה של Terraform. הוא מאפשר לראות משאבים עם מכסות לא מספיקות.
    • ENFORCED: הפעלת אימות של מכסת השימוש, כך שהפריסה תיכשל אם אין מכסת שימוש מספקת לתשתית שהוגדרה בקובץ התצורה של Terraform.

    אם לא מוגדר QUOTA_VALIDATION, אימות המכסה בקובצי ההגדרות של Terraform יושבת. זה ערך ברירת המחדל. אימות המכסות חל על משאבים מוגבלים של Google Cloud . מידע נוסף זמין במאמר מכסות ומגבלות.

  • INPUT_1_NAME ו-INPUT_2_NAME: כל ערכי הקלט בתצורת 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.

המאמרים הבאים