יצירת פתרון שמבוסס על 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. איך מקצים תפקידים

    הפעלת ממשקי ה-API

הכנת תבנית הפריסה

כדי ליצור פתרון 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:

  1. נכנסים לדף Solutions ב-Service Catalog Admin במסוף Google Cloud .
    כניסה לדף Solutions

  2. לוחצים על Select (בחירה) כדי לבחור את הפרויקט Google Cloud .

  3. לוחצים על יצירת פתרון. מהרשימה הנפתחת, בוחרים באפשרות יצירת פתרון לניהול הודעות ישירות.

  4. מזינים שם, תיאור וסלוגן לפתרון. הסלוגן הוא תיאור קצר של פתרון שהמשתמשים רואים כשהם מעיינים ב-Service Catalog.

  5. מעלים קובץ ZIP שמכיל את הקבצים של הגדרת הפריסה.

  6. אפשר גם להעלות סמל לפתרון. המימדים המומלצים לסמל הם 80x80 פיקסלים.

  7. אפשר גם להזין קישור לתמיכה ופרטי קשר של היוצר.

  8. אפשר גם להוסיף קישור למסמכים בנושא הפתרון.

  9. לוחצים על יצירה.

בצילום המסך הבא מוצגת דוגמה ליצירת פתרון שמבוסס על DM:

יצירת פתרון שמבוסס על תבנית של Cloud Deployment Manager

השלבים הבאים