ייבוא רכיבים

כשמייבאים מודולים מותאמים אישית של Terraform ל-Application Design Center, אפשר להוסיף הגדרות Google Cloud לשימוש חוזר כרכיבים בתבניות של האפליקציה. כשמייבאים מודול של Terraform, ‏App Design Center יוצר תבנית רכיב בקטלוג של המרחב, כדי שהמפתחים יוכלו להשתמש שוב בהחלטות העיצוב ובכללי המדיניות שנקבעו.

למידע רקע על יצירת מודולים של Terraform ל- Google Cloud, קראו את המאמרים הבאים:

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

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

משימה התפקידים הנדרשים
ייבוא מודולים של Terraform כרכיבים בהתאמה אישית אדמין ב-Application Design Center‏ (roles/designcenter.admin) או משתמש ב-Application Design Center‏ (roles/designcenter.user)

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

הגדרה וייבוא של המודולים

כדי להתחבר ל-GitHub, ליצור קובץ מטא-נתונים ולייבא מודול של Terraform, צריך לבצע את הפעולות הבאות:

חיבור למאגר באמצעות Developer Connect

יוצרים חיבור של Developer Connect למאגר ב-GitHub שבו מאוחסנים המודולים של Google Cloud Terraform. החיבור הזה ישמש אתכם לייבוא.

  1. יוצרים חיבור Developer Connect.

    איך מתחברים ל-GitHub

  2. יוצרים קישור למאגר ב-Developer Connect.

    איך מוסיפים קישורים למאגרים בחיבורים קיימים

אופציונלי: הכנת המטא-נתונים של המודול ב-Terraform

כשמייבאים מודול של Terraform, אפשר לספק מטא-נתונים משלכם או לאפשר ל-App Design Center ליצור קובץ מטא-נתונים בשבילכם.

לדוגמה, זהו קובץ metadata.yaml שאפשר ליצור לחשבון שירות:

  spec:
    info:
      actuationTool:
        flavor: Terraform
        version: ">= 1.3"
    interfaces: # Optional
      variables:
        - name: service_account
          connections:
            - source:
                source: github.com/terraform-google/terraform-google-service-accounts
                version: ">= 4.4"
              spec:
                outputExpr: email
    requirements:
      roles: # Optional after IAM integrations
        - level: Project
          roles:
            - roles/iam.serviceAccountUser
            - roles/iap.admin
            - roles/run.admin
            - roles/iam.serviceAccountAdmin
      providerVersions:
        - source: hashicorp/google
          version: ">= 6, < 7"
        - source: hashicorp/google-beta
          version: ">= 6, < 7"
    ui: # Optional
      input:
        variables:
          ca_root_module:
            name: ca_root_module
            title: CA Root Module
          service_account:
            name: service_account
            title: Service Account

ייבוא מהמאגר שלכם

כדי ליצור רכיב ב-App Design Center, אתם יכולים לייבא מודול Terraform שמבוסס על מוצר אחד של Google Cloud . אם אתם מבצעים שינויים במודול Terraform במאגר, חזרו על השלבים האלה כדי לייבא את השינויים.

כדי לייבא את המודול של Terraform:

  1. מזהים את הקטלוג שבו רוצים ליצור את הרכיב.

      gcloud design-center spaces catalogs list \
      --project=PROJECT \
      --location=LOCATION \
      --space=SPACE
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫PROJECT: מזהה הפרויקט לניהול.
    • ‫LOCATION: מזהה המיקום שלכם.
    • ‫SPACE: מזהה המרחב המשותף.

    מידע נוסף זמין במאמר gcloud design-center spaces catalogs list.

  2. יוצרים תבנית קטלוג בקטלוג הפרטי של המרחב המשותף.

      gcloud design-center spaces catalogs templates create COMPONENT_TEMPLATE \
      --project=PROJECT \
      --catalog=CATALOG \
      --location=LOCATION \
      --space=SPACE \
      --template-category=component-template
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫COMPONENT_TEMPLATE: המזהה של תבנית הרכיב שרוצים ליצור.
    • ‫PROJECT: מזהה הפרויקט לניהול.
    • ‫CATALOG: מזהה הקטלוג.
    • ‫LOCATION: מזהה המיקום שלכם.
    • ‫SPACE: מזהה המרחב המשותף.

    מידע נוסף זמין במאמר gcloud design-center spaces catalogs templates create.

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

      gcloud design-center spaces catalogs templates revisions create REVISION \
      --project=PROJECT \
      --catalog=CATALOG \
      --location=LOCATION \
      --space=SPACE \
      --template=COMPONENT_TEMPLATE \
      --developer-connect-repo=DEVELOPER_CONNECT_REPO \
      --developer-connect-repo-ref=DEVELOPER_CONNECT_REPO_REF \
      --developer-connect-repo-dir=DEVELOPER_CONNECT_REPO_DIR \
      --metadata=METADATA
    
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫REVISION: המזהה של הגרסה שרוצים ליצור.
    • ‫PROJECT: מזהה הפרויקט לניהול.
    • ‫CATALOG: מזהה הקטלוג.
    • ‫LOCATION: מזהה המיקום שלכם.
    • ‫SPACE: מזהה המרחב המשותף.
    • ‫COMPONENT_TEMPLATE: מזהה התבנית שיצרתם בשלב הקודם.
    • ‫DEVELOPER_CONNECT_REPO: המאגר ב-Developer Connect שישמש כמקור. לדוגמה, projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo.
    • ‫DEVELOPER_CONNECT_REPO_REF: הענף או התג של Git במאגר. לדוגמה, refs/tags/v1.0.0 או refs/heads/main.
    • ‫DEVELOPER_CONNECT_REPO_DIR: הספרייה במאגר. לדוגמה, modules/my-product.
    • כדי לציין את המטא-נתונים של המודול של Terraform, מבצעים אחת מהפעולות הבאות:
      • כדי להשתמש בקובץ מטא-נתונים משלכם, מחליפים את METADATA בקובץ metadata.yaml.
      • כדי להשתמש באופן אוטומטי בקובצי מטא-נתונים שנמצאים במאגר, אל תציינו את הדגל ‎--metadata.

    מידע נוסף זמין במאמר gcloud design-center spaces catalogs templates revisions create.

  4. לשתף את הקטלוג עם מרחבים אחרים.

      gcloud design-center spaces catalogs shares create SHARE \
      --project=PROJECT \
      --catalog=CATALOG \
      --location=LOCATION \
      --space=SPACE \
      --destination-space=DESTINATION_SPACE
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫SHARE: המזהה של השיתוף שרוצים ליצור.
    • ‫PROJECT: מזהה הפרויקט לניהול.
    • ‫CATALOG: מזהה הקטלוג.
    • ‫LOCATION: מזהה המיקום שלכם.
    • ‫SPACE: מזהה המרחב המשותף.
    • ‫DESTINATION_SPACE: המזהה של המרחב המשותף שאליו רוצים להעביר את ההודעה.

    מידע נוסף זמין במאמר gcloud design-center spaces catalogs shares create.

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

יוצרים תבנית של אפליקציה באמצעות הרכיבים המיובאים והרכיבים ש-Google מספקת.

  1. יוצרים תבנית חדשה לאפליקציה.

      gcloud design-center spaces application-templates create APPLICATION_TEMPLATE \
      --project=PROJECT \
      --location=LOCATION \
      --space=SPACE
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫APPLICATION_TEMPLATE: המזהה של תבנית האפליקציה שרוצים ליצור.
    • ‫PROJECT: מזהה הפרויקט לניהול.
    • ‫LOCATION: מזהה המיקום שלכם.
    • ‫SPACE: מזהה המרחב המשותף.

    מידע נוסף זמין במאמר gcloud design-center spaces application-templates create.

  2. מזהים את מזהי ה-URI של גרסאות התבנית של הרכיבים שרוצים להוסיף לתבנית.

      gcloud design-center spaces shared-templates list \
      --project=PROJECT \
      --location=LOCATION \
      --space=SPACE \
      --uri
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫PROJECT: מזהה הפרויקט לניהול.
    • ‫LOCATION: מזהה המיקום שלכם.
    • ‫SPACE: מזהה המרחב המשותף.

    מידע נוסף זמין במאמר gcloud design-center spaces shared-templates list.

  3. מוסיפים רכיב לתבנית של האפליקציה.

      gcloud design-center spaces application-templates components create COMPONENT \
      --project=PROJECT \
      --location=LOCATION \
      --space=SPACE \
      --application-template=APPLICATION_TEMPLATE \
      --shared-template-revision-uri=SHARED_TEMPLATE_URI
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫COMPONENT: מזהה הרכיב שרוצים להוסיף לתבנית.
    • ‫PROJECT: מזהה הפרויקט לניהול.
    • ‫LOCATION: מזהה המיקום שלכם.
    • ‫SPACE: מזהה המרחב המשותף.
    • ‫APPLICATION_TEMPLATE: מזהה התבנית של תבנית האפליקציה שאליה מוסיפים את הרכיב.
    • ‫SHARED_TEMPLATE_URI: ה-URI של התבנית המשותפת של הרכיב. לדוגמה, projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    מידע נוסף זמין במאמר gcloud design-center spaces application-templates components create.

  4. מוסיפים רכיב שני לתבנית.

      gcloud design-center spaces application-templates components create COMPONENT_2 \
      --project=PROJECT \
      --location=LOCATION \
      --space=SPACE \
      --application-template=APPLICATION_TEMPLATE \
      --shared-template-revision-uri=SHARED_TEMPLATE_URI_2
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫COMPONENT_2: מזהה הרכיב של הרכיב השני שרוצים להוסיף לתבנית.
    • ‫PROJECT: מזהה הפרויקט לניהול.
    • ‫LOCATION: מזהה המיקום שלכם.
    • ‫SPACE: מזהה המרחב המשותף.
    • ‫APPLICATION_TEMPLATE: מזהה התבנית של תבנית האפליקציה שאליה מוסיפים את הרכיב.
    • ‫SHARED_TEMPLATE_URI_2: ה-URI של התבנית המשותפת של הרכיב השני. לדוגמה, projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    מידע נוסף זמין במאמר gcloud design-center spaces application-templates components create.

  5. יוצרים חיבור בין שני הרכיבים.

      gcloud design-center spaces application-templates components connections create CONNECTION \
      --project=PROJECT \
      --location=LOCATION \
      --space=SPACE \
      --application-template=APPLICATION_TEMPLATE \
      --component=COMPONENT \
      --destination-component-uri=SHARED_TEMPLATE_URI_2
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫CONNECTION: מזהה החיבור שרוצים להוסיף לתבנית.
    • ‫PROJECT: מזהה הפרויקט לניהול.
    • ‫LOCATION: מזהה המיקום שלכם.
    • ‫SPACE: מזהה המרחב המשותף.
    • ‫APPLICATION_TEMPLATE: מזהה התבנית של תבנית האפליקציה שאליה מוסיפים את הרכיב.
    • ‫SHARED_TEMPLATE_URI_2: ה-URI של התבנית המשותפת של הרכיב השני. לדוגמה, projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    מידע נוסף זמין במאמר gcloud design-center spaces application-templates components connections create.

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