Menjelajahi skrip helper

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

Anda sekarang akan mempelajari skrip helper Python yang menamai 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() mengambil awalan dan akhiran, dan menghasilkan nama dalam format prefix-suffix:

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

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

Menggunakan skrip bantuan dalam 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 ini berisi komentar kode yang menyoroti perubahan.

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

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

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

Rencana ke depan: mengupdate deployment

Selanjutnya, pelajari cara menambah, menghapus, dan mengubah properti resource dalam deployment seiring perkembangan aplikasi Anda.