Halaman ini menjelaskan cara membuat konfigurasi yang dapat digunakan untuk membuat deployment. Untuk mempelajari deployment lebih lanjut, baca artikel 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.
- Memahami 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
adalah daftar resource yang membentuk deployment ini. Referensi 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 untuk digunakan atau sebagai output untuk
pengguna akhir, sedangkan bagian metadata
memungkinkan Anda menggunakan fitur lain, seperti
menetapkan dependensi eksplisit
di antara resource.
Minimal, konfigurasi harus selalu mendeklarasikan bagian resources
, diikuti dengan daftar resource. Bagian lainnya bersifat opsional.
Mendeklarasikan jenis resource
Setiap resource dalam konfigurasi Anda harus ditentukan 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 mengetahui daftar lengkap jenis dasar yang dikelola 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 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
yang disebut 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, Anda menggunakan dokumentasi API untuk
resource tersebut:
- Lihat format permintaan dalam 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 dilampirkan ke instance, dalam format berikut:
"disks": [ { "type": "PERSISTENT", "deviceName": "disk1", ... }, { "type": "PERSISTENT", "deviceName": "disk2", ... } ]
Dalam konfigurasi Deployment Manager, Anda menambahkan disk ini menggunakan sintaksis berikut:
disks: - deviceName: disk1 type: PERSISTENT ... - deviceName: disk2 type: PERSISTENT
Anda juga dapat memberikan properti apa pun 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 berupa output, sehingga Anda tidak dapat menentukan properti ini dalam konfigurasi, karena properti tersebut tidak dapat diubah.
Beberapa API memerlukan serangkaian properti minimum untuk membuat resource. Persistent disk Compute Engine, misalnya, memerlukan nama disk, sumber image, ukuran disk, dan sebagainya, saat membuat disk baru. Untuk informasi tentang resource tertentu, tinjau referensi API untuk resource tersebut.
Menentukan properti template
Jika mengimpor template untuk digunakan dalam konfigurasi, Anda akan menggunakan bagian properties
untuk menentukan nilai untuk
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 yang didukung dalam dokumentasi Jenis Resource yang Didukung.
Langkah selanjutnya
- Lihat pratinjau konfigurasi sebelum Anda berkomitmen untuk men-deploynya.
- Setelah Anda puas dengan konfigurasi, gunakan konfigurasi tersebut untuk membuat deployment.
- Pada akhirnya, Anda harus mempertimbangkan untuk mengerjakan ulang file konfigurasi untuk menggunakan template.