עדכון פריסה

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

מתן הרשאות ספציפיות להגדרה

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

  • משאבי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. בדף עם מזהה הפריסה, לוחצים על Edit.
  4. בדף Deployment details, אתם יכולים לשנות את השדות Terraform version,‏ Service account,‏ ו-Source of Terraform configuration. אם אתם מספקים מאגר Git פרטי, ודאו שחיברתם את המארח והמאגר שלכם ל-Cloud Build.

    לוחצים על Continue.

  5. בדף Terraform details, אפשר לשנות את Input values של הגדרות Terraform. לוחצים על המשך.
  6. בדף Advanced details, אתם יכולים לשנות את השדות Labels and annotations,‏ Worker pools ו-Artifact Cloud Storage bucket.
  7. כדי להתחיל את תהליך העדכון, לחצו על Update אחרי שסיימתם לבצע את השינויים בפריסה.

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

‫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.

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

  • ‫Optional:TERRAFORM_VERSION: גרסת Terraform שבה Infra Manager ישתמש כדי לעדכן את הפריסה. כאן מופיעה רשימת הגרסאות הנתמכות של Terraform. אם מסירים את הדגל האופציונלי הזה, Infra Manager משתמש בגרסת Terraform של הפריסה הקיימת, או כברירת מחדל בגרסה העדכנית ביותר של גרסת החינם הנתמכת (1.5.7). כדי לשדרג לגרסה בתשלום (כמו 1.16.5), צריך לציין את הגרסה באופן מפורש.
  • אופציונלי: 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.

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

  • ‫Optional:TERRAFORM_VERSION: גרסת Terraform שבה Infra Manager ישתמש כדי לעדכן את הפריסה. כאן מופיעה רשימת הגרסאות הנתמכות של Terraform. אם מסירים את הדגל האופציונלי הזה, Infra Manager משתמש בגרסת Terraform של הפריסה הקיימת, או כברירת מחדל בגרסה העדכנית ביותר של גרסת החינם הנתמכת (1.5.7). כדי לשדרג לגרסה בתשלום (כמו 1.16.5), צריך לציין את הגרסה באופן מפורש.
  • אופציונלי: 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.

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

  • ‫Optional:TERRAFORM_VERSION: גרסת Terraform שבה Infra Manager ישתמש כדי לעדכן את הפריסה. כאן מופיעה רשימת הגרסאות הנתמכות של Terraform. אם מסירים את הדגל האופציונלי הזה, Infra Manager משתמש בגרסת Terraform של הפריסה הקיימת, או כברירת מחדל בגרסה העדכנית ביותר של גרסת החינם הנתמכת (1.5.7). כדי לשדרג לגרסה בתשלום (כמו 1.16.5), צריך לציין את הגרסה באופן מפורש.
  • אופציונלי: ANNOTATION_KEY ו-ANNOTATION_VALUE מייצגים צמד של מפתח/ערך של טקסט חופשי שאפשר לצרף לפריסות של Infra Manager. למידע נוסף על השימוש בהערות ובתוויות ועל המגבלות שלהן, ראו הערות ותוויות.
  • אופציונלי: PROVIDER_SOURCE: קובע באיזה ספק Terraform משתמשים בפריסה של Google Cloud . מגדירים את הערך SERVICE_MAINTAINED כדי להשתמש בספק Terraform שמנוהל על ידי Infra Manager. אם לא משתמשים בשדה הזה, משתמשים בספק Terraform שמנוהל על ידי HashiCorp. מידע נוסף זמין במאמר שימוש בספק Terraform ל- Google Cloud.

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