Deployment Manager 기반 솔루션 만들기

조직의 사용자를 위한 Private Catalog 솔루션을 만들 때 사용자가 Deployment Manager 템플릿을 사용하여 시작하는 Deployment Manager(DM) 솔루션을 만들 수 있습니다. 솔루션을 만든 후에는 카탈로그에 추가하여 사용자와 공유할 수 있습니다.

시작하기 전에

  • Google Cloud 조직에 Private Catalog를 사용 설정해야 합니다.
  • Private Catalog가 사용 설정된 Google Cloud 프로젝트의 카탈로그 관리(roles/cloudprivatecatalogproducer.admin) 또는 카탈로그 관리자(roles/cloudprivatecatalogproducer.manager) 역할이 있어야 합니다. 두 역할 모두 없는 경우 조직 관리자에게 문의하여 액세스 권한을 요청하세요.

  • Cloud Deployment Manager and Compute Engine API를 사용 설정합니다.

    API 사용 설정

배포 템플릿 준비

Private Catalog에서 Deployment Manager 솔루션을 만들려면 다음 파일을 포함해야 하는 Deployment Manager 템플릿 zip 파일을 먼저 준비합니다.

  • .jinja 확장자로 끝나는 Jinja 템플릿 파일 또는 .py 확장자로 끝나는 Python 템플릿 파일
  • Jinja 템플릿의 경우는 .jinja.schema 확장자, Python 템플릿의 경우는 py.schema 확장자로 끝나는 스키마 파일

zip 파일의 이름은 스키마 이름과 Jinja 또는 Python 파일 이름 모두와 일치해야 합니다. 예를 들어 zip 파일의 이름이 android-dev-environment.zip이면 zip 파일 내 Jinja 스키마 파일의 이름은 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:
      - n1-standard-1
      - n1-standard-2
      - n1-standard-4
      - n1-highmem-2
      - n1-highmem-4
      - n1-highmem-8
      - n1-highcpu-2
      - n1-highcpu-4
      - n1-highcpu-8
      - f1-micro
      - g1-small
  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


다음 코드 샘플에서는 영구 VM을 만드는 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. custom-4-5120 specifies 4 CPUs and 5GB (5120 MB) of RAM
    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


Private Catalog에서 솔루션 만들기

Deployment Manager 템플릿 기반 솔루션을 만들려면 다음 안내를 따르세요.

  1. Cloud Console에서 Private Catalog 관리자 솔루션 페이지로 이동합니다.
    솔루션 페이지로 이동

  2. 선택을 클릭하여 Google Cloud 프로젝트를 선택합니다.

  3. 솔루션 만들기를 클릭합니다. 드롭다운 목록에서 DM 솔루션 만들기를 선택합니다.

  4. 솔루션의 이름, 설명, 소개 문구를 입력합니다. 소개 문구는 사용자가 Private Catalog를 탐색할 때 표시되는 솔루션에 대한 간단한 설명입니다.

  5. 배포 구성 파일이 포함된 zip 파일을 업로드합니다.

  6. 원하는 경우 솔루션 아이콘을 업로드합니다.

  7. 원하는 경우 작성자의 지원 링크와 연락처 정보를 입력합니다.

  8. 원하는 경우 솔루션 문서 링크를 추가합니다.

  9. '만들기'를 클릭합니다.

다음은 DM 기반 솔루션을 만드는 방법을 보여주는 스크린샷입니다.

Cloud Deployment Manager 템플릿 기반 솔루션 만들기

다음 단계

  • 카탈로그에 솔루션을 할당하여 조직 내 사용자가 솔루션에 액세스하고 배포할 수 있도록 합니다.