כשמייבאים מודולים מותאמים אישית של 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. החיבור הזה ישמש אתכם לייבוא.
יוצרים חיבור Developer Connect.
יוצרים קישור למאגר ב-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:
מזהים את הקטלוג שבו רוצים ליצור את הרכיב.
gcloud design-center spaces catalogs list \ --project=PROJECT \ --location=LOCATION \ --space=SPACEמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT: מזהה הפרויקט לניהול. -
LOCATION: מזהה המיקום שלכם. -
SPACE: מזהה המרחב המשותף.
מידע נוסף זמין במאמר gcloud design-center spaces catalogs list.
-
יוצרים תבנית קטלוג בקטלוג הפרטי של המרחב המשותף.
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.
-
יוצרים גרסה של תבנית קטלוג על סמך המודול של 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.
-
לשתף את הקטלוג עם מרחבים אחרים.
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 מספקת.
יוצרים תבנית חדשה לאפליקציה.
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.
-
מזהים את מזהי ה-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.
-
מוסיפים רכיב לתבנית של האפליקציה.
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.
-
מוסיפים רכיב שני לתבנית.
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.
-
יוצרים חיבור בין שני הרכיבים.
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.
-
המאמרים הבאים
- לפני הפריסה, יוצרים אפליקציה.
- פריסת אפליקציות.
- מייצאים את קוד Terraform.