Salah satu keuntungan menggunakan template adalah kemampuan untuk membuat dan menentukan properti template kustom. Properti template adalah variabel arbitrer yang Anda tentukan dalam file template. Setiap file konfigurasi atau file template yang menggunakan template yang dimaksud dapat memberikan nilai untuk properti template tanpa mengubah template secara langsung. Hal ini memungkinkan Anda memisahkan properti sehingga Anda dapat mengubah nilai properti untuk setiap konfigurasi unik tanpa memperbarui template yang mendasarinya.
Misalnya, baris berikut menentukan properti template di URL jenis mesin:
machineType: zones/{{ properties["zone"] }}/machineTypes/n1-standard-1
Dalam konfigurasi yang menggunakan template ini, Anda dapat menetapkan nilai zone
di bagian properties
template:
imports: - path: vm_template.jinja resources: - name: my-vm type: vm_template.jinja properties: zone: us-central1-a
Deployment Manager akan tahu untuk meneruskan nilai zone
ke template
yang mendasarinya.
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.
- Pahami cara membuat template dasar.
- Memahami cara membuat konfigurasi
Membuat properti template
Untuk membuat properti template:
Jinja
Di Jinja, tentukan properti menggunakan sintaksis berikut:
{{ properties["PROJECT_NAME"] }}
Contoh:
Python
Di Python, tentukan properti menggunakan sintaksis berikut:
context.properties["PROPERTY_NAME"]
Contoh:
Untuk contoh Python lengkap, lihat repositori GitHub Deployment Manager.
Menetapkan nilai untuk properti template di konfigurasi level teratas
Pada konfigurasi tingkat teratas, Anda dapat menetapkan nilai untuk properti template menggunakan sintaksis:
imports: - path: vm_template.jinja resources: - name: my-vm type: vm_template.jinja properties: zone: us-central1-a
Anda harus menetapkan nilai untuk semua properti template dalam template. Misalnya,
jika template memiliki properti template zone
, image
, network
, Anda harus
menentukan nilai untuk semua properti tersebut dalam konfigurasi tingkat teratas.
Jika properti template tertentu memiliki nilai default, pertimbangkan untuk menggunakan skema untuk menetapkan nilai default ini. Properti template dengan nilai default dapat dihilangkan dari konfigurasi tingkat teratas jika nilai default sesuai untuk deployment.
Menetapkan nilai untuk properti template di command line
Daripada memberikan nilai untuk properti template dalam file induk yang mengimpor template, Deployment Manager menawarkan kemampuan untuk menetapkan nilai ini langsung di Google Cloud CLI. Anda dapat melewati pembuatan file YAML tingkat teratas; Deployment Manager akan otomatis membuat konfigurasi tingkat teratas untuk deployment Anda berdasarkan informasi dalam permintaan Anda.
Misalnya, Anda memiliki template berikut yang memiliki properti template
yang disebut zone
:
Dengan Google Cloud CLI, Anda dapat meneruskan file template ini secara langsung
dan memberikan nilai untuk properti template di command line. Misalnya, permintaan berikut meneruskan template dan menentukan properti zone
langsung di command line:
gcloud deployment-manager deployments create a-single-vm --template vm_template.jinja \
--properties zone:us-central1-a
Perlu diperhatikan bahwa:
Semua nilai diuraikan sebagai nilai YAML. Misalnya,
version: 3
diteruskan sebagai bilangan bulat. Jika Anda ingin menentukannya sebagai string, masukkan tanda kutip tunggal yang di-escape di sekitar nilai,version: \'3\'
.Nilai boolean tidak peka huruf besar/kecil, sehingga
TRUE
,true
, danTrue
diperlakukan sama.Anda harus meneruskan semua properti yang diperlukan yang ditentukan oleh template. Anda tidak dapat hanya memberikan sebagian properti. Jika properti tertentu memiliki nilai default, Anda dapat menghilangkan properti dari command line.
Untuk menentukan beberapa properti, berikan pasangan nilai kunci yang dipisahkan koma. Urutan Anda menentukan pasangan tidak penting. Contoh:
gcloud deployment-manager deployments create my-igm \ --template vm_template.jinja \ --properties zone:us-central1-a,machineType:n1-standard-1,image:debian-9
Setelah menjalankan perintah ini, Deployment Manager akan membuat deployment menggunakan template yang Anda berikan. Anda dapat mengonfirmasi bahwa deployment telah dibuat menggunakan Konsol Google Cloud atau gcloud CLI. Untuk mengetahui informasi tentang cara melihat deployment, baca Melihat manifes.
Langkah selanjutnya
- Isi informasi tentang project dan deployment Anda menggunakan variabel lingkungan.
- Tambahkan template secara permanen ke project Anda sebagai jenis komposit.
- Menghosting template secara eksternal untuk dibagikan kepada orang lain.