Halaman ini menjelaskan cara membuat konfigurasi yang dapat digunakan untuk membuat deployment. Untuk mempelajari deployment lebih lanjut, baca Membuat Deployment.
File konfigurasi menentukan semua resource Google Cloud yang membentuk deployment. Anda harus memiliki file konfigurasi untuk membuat deployment. File konfigurasi harus ditulis dalam sintaksis YAML.
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 dasar-dasar tentang file konfigurasi.
Struktur file konfigurasi
File konfigurasi ditulis dalam format YAML dan memiliki struktur berikut:
# imported templates, if applicable
imports:
# path relative to the configuration file
- path: path/to/template.jinja
name: my-template
- path: path/to/another/template.py
name: another-template
resources:
- name: NAME_OF_RESOURCE
type: TYPE_OF_RESOURCE
properties:
property-a: value
property-b: value
...
property-z: value
- name: NAME_OF_RESOURCE
type: TYPE_OF_RESOURCE
properties:
property-a: value
property-b: value
...
property-z: value
Setiap bagian menentukan bagian deployment yang berbeda:
Bagian
imports
adalah daftar file template yang akan digunakan oleh konfigurasi. Deployment Manager secara rekursif memperluas template yang diimpor untuk membentuk konfigurasi akhir Anda.Bagian
resources
menampilkan daftar resource yang membentuk deployment ini. Resource dapat berupa:- Jenis dasar yang dikelola Google, seperti instance VM Compute Engine.
- Template yang diimpor
- Jenis komposit.
- Penyedia jenis.
Anda juga dapat menyertakan bagian opsional lainnya, seperti
bagian outputs
dan metadata
. Bagian outputs
memungkinkan Anda
mengekspos data dari template dan konfigurasi sebagai output
untuk template lain dalam deployment yang sama agar dapat digunakan atau sebagai output bagi
pengguna akhir Anda, sedangkan bagian metadata
memungkinkan Anda menggunakan fitur lainnya, seperti
menetapkan dependensi eksplisit
di antara resource.
Setidaknya, konfigurasi harus selalu mendeklarasikan bagian resources
, diikuti dengan daftar resource. Bagian lainnya bersifat opsional.
Mendeklarasikan jenis resource
Setiap resource dalam konfigurasi Anda harus ditetapkan sebagai jenis. Jenis dapat berupa jenis dasar yang dikelola Google, jenis komposit, penyedia jenis, atau template yang diimpor.
Jenis dasar yang dikelola Google adalah jenis yang me-resolve ke resource Google Cloud. Misalnya, instance Cloud SQL atau bucket Cloud Storage adalah jenis dasar yang dikelola Google. Anda dapat mendeklarasikan jenis ini menggunakan sintaksis berikut:
type: <api>.<api-version>.<resource-type>
Misalnya, instance Compute Engine akan memiliki jenis berikut:
type: compute.v1.instance
Untuk database BigQuery, jenisnya mungkin:
type: bigquery.v2.dataset
Untuk daftar semua jenis yang didukung, gunakan perintah berikut:
gcloud deployment-manager types list
Untuk daftar lengkap jenis dasar yang didukung Google yang didukung, lihat Jenis Resource yang Didukung.
Jika Anda menggunakan komposit atau penyedia jenis, deklarasikan jenis sebagai berikut:
# Composite type
resources:
- name: my-composite-type
type: [PROJECT]/composite:[TYPE_NAME]
Untuk penyedia jenis:
# Base type
resources:
- name: my-base-type
type: [PROJECT_ID]/[TYPE_PROVIDER_NAME]:[TYPE_NAME]
Anda juga dapat membuat resource menggunakan penyedia jenis yang dikelola Google (beta). Untuk mengetahui daftar penyedia jenis Google Cloud, lihat Penyedia Jenis yang Didukung.
Jika Anda ingin menggunakan template,
deklarasikan template sebagai jenis, dengan nama atau jalur template sebagai nilai type
.
Misalnya, konfigurasi berikut mengimpor template
bernama my_vm_template.jinja dan menyediakannya sebagai jenis:
imports:
- path: path/to/template/my_vm_template.jinja
name: my-template.jinja
resources:
- name: my-first-virtual-machine
type: my-template.jinja
Untuk mengetahui informasi selengkapnya tentang template, baca Membuat Template Dasar.
Mendeklarasikan properti resource
Setelah mendeklarasikan jenis resource, Anda juga harus memberi resource name
dan menentukan properti yang Anda inginkan untuk resource tersebut. Misalnya, file konfigurasi berikut menentukan instance virtual machine yang disebut vm-created-by-deployment-manager
dan properti yang diinginkan. Deployment Manager menggunakan informasi ini untuk
membuat instance VM yang memiliki properti ini.
Untuk menentukan properties
resource, gunakan dokumentasi API untuk resource:
- Lihat format permintaan di metode
insert
ataucreate
untuk resource. - Jika URI permintaan berisi zona, tambahkan zona ke properti.
Untuk array, gunakan sintaksis daftar YAML untuk mencantumkan elemen array. Misalnya, jika membuat instance Compute Engine menggunakan API, Anda harus menyediakan array disk untuk dipasang ke instance, dalam format berikut:
"disks": [ { "type": "PERSISTENT", "deviceName": "disk1", ... }, { "type": "PERSISTENT", "deviceName": "disk2", ... } ]
Dalam konfigurasi Deployment Manager, tambahkan disk ini menggunakan sintaksis berikut:
disks: - deviceName: disk1 type: PERSISTENT ... - deviceName: disk2 type: PERSISTENT
Anda juga dapat memberikan properti yang dapat ditulis dari resource tersebut. Untuk menentukan apakah properti dapat ditulis, gunakan dokumentasi referensi API untuk jenis resource. Misalnya, referensi Compute Engine menandai properti tertentu yang hanya merupakan output, sehingga Anda tidak dapat menentukan properti ini dalam konfigurasi karena tidak dapat diubah.
Beberapa API memerlukan serangkaian properti minimum untuk membuat resource. Misalnya, Persistent disk Compute Engine memerlukan nama disk, sumber gambar, ukuran disk, dan sebagainya saat membuat disk baru. Untuk mengetahui informasi tentang resource tertentu, tinjau referensi API untuk resource tersebut.
Menentukan properti template
Jika Anda mengimpor template yang akan digunakan dalam konfigurasi, gunakan bagian properties
untuk menentukan nilai bagi
properti template,
bukan properti resource. Atau, jika template tidak memiliki properti template, Anda dapat menghapus bagian properties
sepenuhnya.
Membuat resource dari berbagai layanan Google Cloud
Terakhir, file konfigurasi dapat membuat resource dari berbagai layanan Google Cloud. Misalnya, file konfigurasi berikut membuat resource dari Compute Engine dan BigQuery:
Jenis dan properti resource yang didukung
Lihat daftar lengkap resource yang dikelola Google dan didukung dalam dokumentasi Jenis Resource yang Didukung.
Langkah selanjutnya
- Lihat pratinjau konfigurasi sebelum Anda berkomitmen untuk men-deploy-nya.
- Setelah Anda puas dengan konfigurasi tersebut, gunakan konfigurasi tersebut untuk membuat deployment.
- Akhirnya, Anda harus mempertimbangkan untuk mengerjakan ulang file konfigurasi menggunakan template.