Menjelajahi skrip helper

Skrip helper, atau modul template, adalah file helper yang dapat membuat template Anda lebih efisien dengan menjalankan fungsi tertentu. Misalnya, Anda dapat menggunakan skrip bantuan untuk menafsirkan metadata resource, membuat file, dan meluncurkan layanan.

Sekarang Anda akan mempelajari skrip bantuan Python yang memberi nama virtual machine, dengan awalan dan akhiran.

Sebelum memulai

  • Jika Anda ingin menggunakan contoh command line dalam panduan ini, instal alat command line`gcloud`.
  • Jika Anda ingin menggunakan contoh API dalam panduan ini, siapkan akses API.

Membuka skrip helper

Skrip helper dasar dalam contoh ini menghasilkan nama untuk virtual machine (VM). Untuk melihat skrip, jalankan perintah berikut:

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

nano common.py  # use your preferred text editor

Fungsi GenerateMachineName() menggunakan awalan dan akhiran, serta menghasilkan nama dalam format prefix-suffix:

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


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

Menggunakan skrip helper di template

Untuk menggunakan common.py di vm-template.py, beberapa perubahan harus dilakukan pada template.

Untuk melihat perubahan, buka vm-template.py:

nano vm-template.py

Template berisi komentar kode yang menyoroti perubahan.

Perhatikan bahwa template mengimpor common.py di bagian atas file. Di bagian resources, kolom name untuk VM kini memanggil 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}

Melihat perubahan pada konfigurasi

Untuk melihat konfigurasi yang diperbarui, buka two-vms.yaml:

nano two-vms.yaml

Perhatikan bahwa skrip helper common.py juga harus diimpor dalam konfigurasi.

Deploy konfigurasi Anda:

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

Untuk melihat deployment, termasuk resource dengan nama yang dihasilkan, jalankan:

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

Menghapus deployment

Sebaiknya hapus deployment untuk menghindari tagihan. Anda tidak memerlukan deployment ini untuk langkah berikutnya. Jalankan perintah berikut untuk menghapus deployment:

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

Ke depannya: mengupdate deployment

Selanjutnya, pelajari cara menambahkan, menghapus, dan mengubah properti resource dalam deployment seiring berkembangnya aplikasi Anda.