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

כשיוצרים פתרונות בקטלוג השירותים למשתמשים בארגון, אפשר ליצור פתרון Deployment Manager (DM), שהמשתמשים מפעילים באמצעות תבנית Deployment Manager. אחרי שיוצרים פתרון, אפשר לשתף אותו עם המשתמשים על ידי הוספתו לקטלוגים.

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

  • התפקיד שלכם בארגון Google Cloudשמשויך לפרויקט Google Cloud שבו מופעל Service Catalog צריך להיות אדמין של קטלוג (roles/cloudprivatecatalogproducer.admin) או מנהל קטלוג (roles/cloudprivatecatalogproducer.manager). אם לא הוקצה לכם התפקיד הזה, פנו לאדמין הארגוני כדי לבקש גישה.

  • מפעילים את Cloud Deployment Manager API ואת Compute Engine API.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

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

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

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

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

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

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

השלבים הבאים