יצירת פתרון שמבוסס על Deployment Manager
כשיוצרים פתרונות בקטלוג השירותים למשתמשים בארגון, אפשר ליצור פתרון Deployment Manager (DM), שהמשתמשים מפעילים באמצעות תבנית Deployment Manager. אחרי שיוצרים פתרון, אפשר לשתף אותו עם המשתמשים על ידי הוספתו לקטלוגים.
לפני שמתחילים
התפקיד שלכם בארגון שמשויך לפרויקט שבו מופעל Service Catalog צריך להיות אדמין של קטלוג (
roles/cloudprivatecatalogproducer.admin) או מנהל קטלוג (roles/cloudprivatecatalogproducer.manager). Google CloudGoogle Cloud אם לא הוקצה לכם התפקיד הזה, פנו לאדמין הארגוני כדי לבקש גישה.-
מפעילים את Cloud Deployment Manager API ואת Compute Engine API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידים
הכנת תבנית הפריסה
כדי ליצור פתרון Deployment Manager ב-Service Catalog, צריך קודם להכין קובץ ZIP של תבנית Deployment Manager להעלאה, שצריך להכיל את הקבצים הבאים:
- קובץ תבנית Jinja שמסתיים בסיומת
.jinjaאו קובץ תבנית Python שמסתיים בסיומת.py. - קובץ סכימה שמסתיים בסיומת
.jinja.schemaלתבנית Jinja או בסיומתpy.schemaלתבנית Python.
שם קובץ ה-ZIP צריך להיות זהה לשמות של קובצי הסכימה ו-Jinja או Python. לדוגמה, אם שם קובץ ה-ZIP הוא android-dev-environment.zip, שם קובץ סכימת Jinja בתוך קובץ ה-ZIP צריך להיות android-dev-environment.jinja.schema, ושם תבנית Jinja צריך להיות android-dev-environment.jinja.
בדוגמה הבאה של קוד מוצג קובץ סכימה ליצירת טופס פריסה:
info:
title: Single Google Compute Engine Machine
author: Google Inc.
description: Creates a virtual machine based on zone and machine type selection.
required:
- machinetype
- zone
properties:
machinetype:
title: Machine type
type: string
enum:
- n2-standard-2
- n2-standard-4
- n2-standard-8
- n2-highmem-2
- n2-highmem-4
- n2-highmem-8
- n2-highcpu-2
- n2-highcpu-4
- n2-highcpu-8
zone:
title: Zone
type: string
enum:
- us-central1-a
- us-central1-c
- us-east1-b
- us-east1-c
- us-west1-a
- us-west1-b
- us-west1-c
בדוגמה הבאה של קוד מוצג קובץ Jinja ליצירת מכונה וירטואלית קבועה:
# Creates a Persistent VM
resources:
- type: compute.v1.instance
name: vm-{{ env["deployment"] }}
properties:
zone: {{ properties["zone"] }}
# Note the machineType definition at the end. n2-custom-4-5120 specifies n2 machine family with 4 CPUs and 5GB (5120 MB) of RAM. For custom machine types, refer to https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type
machineType: https://www.googleapis.com/compute/v1/projects/{{ env["project"] }}/zones/{{ properties["zone"] }}/machineTypes/{{ properties["machinetype"] }}
disks:
- deviceName: boot
type: PERSISTENT
boot: true
autoDelete: true
initializeParams:
diskName: disk-{{ env["deployment"] }}
sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-9
networkInterfaces:
- network: https://www.googleapis.com/compute/v1/projects/{{ env["project"] }}/global/networks/default
# Access Config required to give the instance a public IP address
accessConfigs:
- name: External NAT
type: ONE_TO_ONE_NAT
יצירת הפתרון ב-Service Catalog
כדי ליצור פתרון שמבוסס על תבנית Deployment Manager:
נכנסים לדף Solutions ב-Service Catalog Admin במסוף Google Cloud .
כניסה לדף Solutionsלוחצים על Select (בחירה) כדי לבחור את הפרויקט Google Cloud .
לוחצים על יצירת פתרון. מהרשימה הנפתחת, בוחרים באפשרות יצירת פתרון לניהול הודעות ישירות.
מזינים שם, תיאור וסלוגן לפתרון. הסלוגן הוא תיאור קצר של פתרון שהמשתמשים רואים כשהם מעיינים ב-Service Catalog.
מעלים קובץ ZIP שמכיל את הקבצים של הגדרת הפריסה.
אפשר גם להעלות סמל לפתרון. המימדים המומלצים לסמל הם 80x80 פיקסלים.
אפשר גם להזין קישור לתמיכה ופרטי קשר של היוצר.
אפשר גם להוסיף קישור למסמכים בנושא הפתרון.
לוחצים על יצירה.
בצילום המסך הבא מוצגת דוגמה ליצירת פתרון שמבוסס על DM:
השלבים הבאים
- מקצים את הפתרון לקטלוג, כדי שמשתמשים בארגון יוכלו לגשת לפתרון ולפרוס אותו.