도우미 스크립트 살펴보기

도우미 스크립트 또는 템플릿 모듈은 특정 기능을 수행하여 템플릿을 더 효율적으로 만들어주는 도우미 파일입니다. 예를 들어 도우미 스크립트를 사용하여 리소스 메타데이터를 해석하고, 파일을 만들고, 서비스를 실행할 수 있습니다.

이제 지정된 프리픽스와 서픽스로 가상 머신 이름을 지정하는 Python 도우미 스크립트를 살펴보겠습니다.

시작하기 전에

도우미 스크립트 열기

이 예시의 기본 도우미 스크립트는 가상 머신(VM)의 이름을 생성합니다. 스크립트를 보려면 다음 명령어를 실행합니다.

cd deploymentmanager-samples/examples/v2/step_by_step_guide/create_a_helper_script

nano common.py  # use your preferred text editor

GenerateMachineName() 함수는 프리픽스와 서픽스를 사용하고 prefix-suffix 형식으로 된 이름을 생성합니다.

"""Generates name of a VM."""


def GenerateMachineName(prefix, suffix):
  return prefix + "-" + suffix

템플릿에서 도우미 스크립트 사용

vm-template.py에서 common.py를 사용하려면 템플릿에서 몇 가지를 변경해야 합니다.

변경사항을 보려면 vm-template.py를 엽니다.

nano vm-template.py

템플릿에 변경사항을 강조하는 코드 주석이 있습니다.

템플릿은 파일 맨 위에서 common.py를 가져옵니다. 이제 resources 섹션에서 VM의 name 필드가 GenerateMachineName()을 호출합니다.

"""Creates the virtual machine."""

# `common.py` is imported below.
import common

COMPUTE_URL_BASE = 'https://www.googleapis.com/compute/v1/'


def GenerateConfig(context):
  """Generates configuration of a VM."""
  resources = [{
      'name': common.GenerateMachineName('myfrontend', 'prod'),
      'type': 'compute.v1.instance',
      'properties': {
          'zone': 'us-central1-f',
          'machineType': COMPUTE_URL_BASE + 'projects/' + context.env['project']
                         + '/zones/us-central1-f/machineTypes/f1-micro',
          'disks': [{
              'deviceName': 'boot',
              'type': 'PERSISTENT',
              'boot': True,
              'autoDelete': True,
              'initializeParams': {
                  'sourceImage': COMPUTE_URL_BASE + 'projects/'
                                 'debian-cloud/global/images/family/debian-11'}
          }],
          'networkInterfaces': [{
              'network': COMPUTE_URL_BASE + 'projects/' + context.env['project']
                         + '/global/networks/default',
              'accessConfigs': [{
                  'name': 'External NAT',
                  'type': 'ONE_TO_ONE_NAT'
              }]
          }]
      }
  }]
  return {'resources': resources}

구성 변경사항 보기

업데이트된 구성을 보려면 two-vms.yaml을 엽니다.

nano two-vms.yaml

도우미 스크립트 common.py도 구성에서 가져와야 합니다.

구성을 배포합니다.

gcloud deployment-manager deployments create deployment-with-helper-script --config two-vms.yaml

생성된 이름의 리소스를 포함한 배포를 확인하려면 다음을 실행합니다.

 gcloud deployment-manager deployments describe deployment-with-helper-script

배포 삭제

요금이 청구되지 않도록 배포를 삭제하는 것이 좋습니다. 다음 단계에는 이 배포가 필요하지 않습니다. 다음 명령어를 실행하여 배포를 삭제합니다.

gcloud deployment-manager deployments delete deployment-with-helper-script

미리보기: 배포 업데이트

다음으로 앱 발전에 따라 배포의 리소스 속성을 추가, 삭제, 변경하는 방법을 알아봅니다.