בדף הזה מוסבר איך ליצור הגדרה שאפשר להשתמש בה כדי ליצור פריסה. מידע נוסף על פריסות זמין במאמר יצירת פריסה.
קובץ הגדרות מגדיר את כל המשאבים שמרכיבים פריסה. Google Cloud כדי ליצור פריסה, צריך קובץ תצורה. קובץ ההגדרות צריך להיות כתוב בתחביר YAML.
לפני שמתחילים
- אם רוצים להשתמש בדוגמאות לשורת הפקודה במדריך הזה, צריך להתקין את כלי שורת הפקודה`gcloud`.
- כדי להשתמש בדוגמאות ל-API במדריך הזה, צריך להגדיר גישה ל-API.
- כדאי לקרוא ולהבין את העקרונות הבסיסיים של קבצי הגדרה.
המבנה של קובץ התצורה
קובץ ההגדרות נכתב בפורמט YAML ויש לו את המבנה הבא:
# imported templates, if applicable
imports:
# path relative to the configuration file
- path: path/to/template.jinja
name: my-template
- path: path/to/another/template.py
name: another-template
resources:
- name: NAME_OF_RESOURCE
type: TYPE_OF_RESOURCE
properties:
property-a: value
property-b: value
...
property-z: value
- name: NAME_OF_RESOURCE
type: TYPE_OF_RESOURCE
properties:
property-a: value
property-b: value
...
property-z: value
כל אחד מהקטעים מגדיר חלק אחר בפריסה:
בקטע
importsמופיעה רשימה של קבצי תבניות שישמשו את ההגדרה. Deployment Manager מרחיב באופן רקורסיבי את כל התבניות המיובאות כדי ליצור את ההגדרה הסופית.בקטע
resourcesמופיעה רשימה של משאבים שמרכיבים את הפריסה הזו. משאב יכול להיות:
אפשר גם לכלול קטעים אופציונליים אחרים, כמו הקטעים outputs ו-metadata. בקטע outputs אפשר לחשוף נתונים מהתבניות ומההגדרות שלכם כפלט כדי שתבניות אחרות באותו פריסה יוכלו להשתמש בהם, או כפלט למשתמשי הקצה שלכם. בקטע metadata אפשר להשתמש בתכונות אחרות, כמו הגדרת תלות מפורשת בין משאבים.
לפחות, כל הגדרה חייבת להצהיר על resources
הקטע, ואחריו רשימה של משאבים. קטעים אחרים הם אופציונליים.
הצהרה על סוג משאב
צריך לציין את הסוג של כל משאב בהגדרה. הסוגים יכולים להיות סוג בסיסי שמנוהל על ידי Google, סוג מורכב, ספק סוגים או תבנית מיובאת.
סוגי בסיס בניהול Google הם סוגים שמפוענחים כ Google Cloud משאבים. לדוגמה, מופע של Cloud SQL או קטגוריה של Cloud Storage הם סוג בסיסי שמנוהל על ידי Google. אפשר להצהיר על הסוגים האלה באמצעות התחביר הבא:
type: <api>.<api-version>.<resource-type>
לדוגמה, למכונה של Compute Engine יהיה הסוג הבא:
type: compute.v1.instance
במסד נתונים של BigQuery, הסוג יכול להיות:
type: bigquery.v2.dataset
כדי לראות רשימה של כל הסוגים הנתמכים, משתמשים בפקודה הבאה:
gcloud deployment-manager types list
רשימה מלאה של סוגי הבסיס הנתמכים שמנוהלים על ידי Google זמינה במאמר סוגי משאבים נתמכים.
אם אתם משתמשים בספק סוגים או בספק מורכב, צריך להצהיר על הסוג באופן הבא:
# Composite type
resources:
- name: my-composite-type
type: [PROJECT]/composite:[TYPE_NAME]
לספק סוגים:
# Base type
resources:
- name: my-base-type
type: [PROJECT_ID]/[TYPE_PROVIDER_NAME]:[TYPE_NAME]
אפשר גם ליצור משאבים באמצעות ספקי סוגים בניהול Google (בטא). רשימה של ספקי סוגים זמינה במאמר ספקי סוגים נתמכים. Google Cloud
אם רוצים להשתמש בתבניות, צריך להגדיר את התבנית כסוג, עם שם התבנית או הנתיב שלה כערך של type.
לדוגמה, ההגדרה הבאה מייבאת תבנית בשם my_vm_template.jinja ומספקת אותה כסוג:
imports:
- path: path/to/template/my_vm_template.jinja
name: my-template.jinja
resources:
- name: my-first-virtual-machine
type: my-template.jinja
מידע נוסף על תבניות זמין במאמר יצירת תבנית בסיסית.
הצהרה על מאפייני משאבים
אחרי שמצהירים על סוג המשאב, צריך גם לתת למשאב name ולציין את המאפיינים הרצויים למשאב. לדוגמה, בקובץ ההגדרות הבא מוגדרת מכונה וירטואלית בשם vm-created-by-deployment-manager והמאפיינים הרצויים שלה. Deployment Manager משתמש במידע הזה כדי ליצור מכונה וירטואלית עם המאפיינים האלה.
כדי לקבוע את properties של משאב, משתמשים במאמרי העזרה של ה-API של המשאב:
- אפשר לראות את פורמט הבקשה בשיטה
insertאוcreateשל המשאב. - אם ה-URI של הבקשה מכיל את האזור, מוסיפים את האזור למאפיינים.
במערכים, משתמשים בתחביר של רשימת YAML כדי לפרט את רכיבי המערך. לדוגמה, אם יוצרים מכונה ב-Compute Engine באמצעות ה-API, צריך לספק מערך של דיסקים לצירוף למכונה, בפורמט הבא:
"disks": [ { "type": "PERSISTENT", "deviceName": "disk1", ... }, { "type": "PERSISTENT", "deviceName": "disk2", ... } ]בהגדרות של Deployment Manager, מוסיפים את הדיסקים האלה באמצעות התחביר הבא:
disks: - deviceName: disk1 type: PERSISTENT ... - deviceName: disk2 type: PERSISTENT
אפשר גם לציין כל מאפיין שניתן לכתיבה של המשאב הזה. כדי לבדוק אם אפשר לכתוב מאפיין, אפשר להיעזר במסמכי העזר של ה-API לגבי סוג המשאב. לדוגמה, בהפניה ל-Compute Engine מסומנים מאפיינים מסוימים שהם רק לפלט, ולכן אי אפשר להגדיר את המאפיינים האלה בהגדרה, כי הם קבועים.
חלק מהממשקי ה-API דורשים קבוצה מינימלית של מאפיינים כדי ליצור משאב. לדוגמה, כשיוצרים דיסק חדש של אחסון מתמיד ב-Compute Engine, צריך לציין את שם הדיסק, את מקור התמונה, את גודל הדיסק וכו'. כדי לקבל מידע על משאב ספציפי, אפשר לעיין בהפניית ה-API שמתייחסת למשאב הזה.
הגדרת מאפייני תבנית
אם מייבאים תבנית לשימוש בהגדרות, משתמשים בקטע properties כדי להגדיר ערכים למאפייני התבנית במקום למאפייני המשאב. לחלופין, אם לתבנית אין מאפייני תבנית, אפשר להשמיט לגמרי את הקטע properties.
יצירת משאבים משירותים שונים Google Cloud
לבסוף, קובץ הגדרות יכול ליצור משאבים משירותים שונים של Google Cloud. לדוגמה, קובץ התצורה הבא יוצר משאבים מ-Compute Engine ומ-BigQuery:
סוגי המשאבים והמאפיינים הנתמכים
אפשר לעיין ברשימה המלאה של משאבים בניהול Google שנתמכים במסמך סוגי משאבים נתמכים.
המאמרים הבאים
- כדאי לראות תצוגה מקדימה של ההגדרה לפני שמתחייבים לפרוס אותה.
- אחרי שסיימתם להגדיר את הפריסה, תוכלו להשתמש בה כדי ליצור פריסה.
- בסופו של דבר, כדאי לשקול לערוך מחדש את קובצי ההגדרות כדי להשתמש בתבניות.