Artikel ini menjelaskan cara menyelesaikan konfigurasi dan mengirimkan image VM untuk deployment menggunakan Terraform.
Menentukan cara membuat paket deployment
Sebaiknya gunakan opsi konfigurasi terpandu Producer Portal untuk membuat paket deployment langsung di konsol Google Cloud.
Opsi konfigurasi terpandu mendukung produk VM sederhana, seperti deployment VM tunggal dengan aturan firewall dasar, tetapi tidak mendukung beberapa fitur kompleks, seperti deployment dengan beberapa VM dan resource non-komputasi. Jika memerlukan fitur yang tidak didukung konfigurasi terpandu, Anda dapat menggunakan opsi konfigurasi manual untuk membuat paket deployment atau untuk menyesuaikan paket yang ada dengan menambahkan kemampuan tambahan ke dalamnya.
Beralih antara konfigurasi terpandu dan konfigurasi manual
Jika Anda menggunakan opsi konfigurasi terpandu di Producer Portal dan nantinya ingin beralih untuk mengonfigurasi paket deployment secara manual, klik Buka konfigurasi manual.
Menyelesaikan konfigurasi terpandu
Untuk menyelesaikan konfigurasi dan mengirimkan paket deployment sederhana menggunakan konsol Google Cloud, selesaikan langkah-langkah berikut:
Di Producer Portal, buka bagian Paket deployment.
Di bagian Konfigurasi Terraform, di samping kolom input berlabel Cloud Storage Bucket, klik Browse.
Jika Anda telah membuat bucket Cloud Storage, pilih bucket tersebut di sini.
Jika Anda tidak memiliki bucket Cloud Storage, klik ikon berlabel Buat bucket baru. Saat membuat bucket baru, Anda:
Pilih nama untuk bucket.
Tentukan region tempat bucket menyimpan data.
Tentukan class penyimpanan untuk data Anda.
Tentukan tingkat perincian yang akan diterapkan ke izin Identity and Access Management (IAM) untuk data bucket.
Konfigurasikan setelan lanjutan opsional, seperti enkripsi atau kebijakan retensi data.
Pastikan Anda mengaktifkan Pembuatan Versi Objek untuk bucket Cloud Storage.
Untuk menyimpan setelan bucket dan melanjutkan konfigurasi paket deployment, klik Configure.
Di bagian Choose the machine type, Anda harus menentukan Default zone, Minimum machine type, dan Default machine type untuk produk VM Anda, beserta ukuran dan jenis disk bootingnya.
Di bagian Tentukan sistem operasi, Anda harus menentukan nama dan versi OS yang digunakan image VM, serta nomor versi image VM.
Secara opsional, di bagian Siapkan akses VM, Anda dapat menentukan URL situs dan administrator, beserta nama pengguna dan sandi, yang dapat digunakan pengguna untuk mengakses VM setelah deployment.
Jika ingin, di bagian Konfigurasikan jaringan, Anda dapat menentukan setelan untuk Penerusan IP dan mengonfigurasi aturan Firewall.
Secara opsional, di bagian Menentukan langkah berikutnya, Anda dapat memberikan petunjuk untuk pengguna produk Anda guna memandu mereka memulai produk Anda. Petunjuk ini akan terlihat oleh mereka setelah mereka men-deploy produk Anda.
Setelah menyelesaikan langkah-langkah sebelumnya, klik Buat untuk membuat paket deployment.
Jika perlu melakukan perubahan tambahan pada paket deployment nanti, Anda dapat mengklik Edit untuk melakukan perubahan, lalu mengklik Generate untuk membuat ulang paket deployment dengan perubahan tersebut diterapkan.
Validasi paket deployment di Producer Portal.
Setelah validasi Cloud Marketplace terhadap paket deployment Anda berhasil diselesaikan, klik Publikasikan untuk mulai menguji paket deployment Anda.
Menyelesaikan konfigurasi manual
Bagian ini menjelaskan cara menggunakan opsi konfigurasi manual untuk membuat paket deployment dan mengirimkan paket untuk ditinjau.
Menentukan apakah akan menggunakan modul Terraform default atau kustom
Anda dapat memilih apakah ingin pelanggan menggunakan modul Terraform default atau kustom saat mereka men-deploy produk Anda.
Jika Anda memilih untuk menggunakan modul Terraform default, Google Cloud akan menyediakan kode Terraform yang dibuat secara otomatis kepada pelanggan Anda yang dapat mereka gunakan untuk men-deploy produk Anda.
Jika memilih untuk menggunakan modul Terraform kustom, Anda harus memberikan template Terraform Anda sendiri kepada pelanggan. Anda dapat memilih untuk menyediakan template ini dalam bentuk yang dapat di-deploy pelanggan menggunakan antarmuka command line (CLI), atau dengan metadata tambahan yang memungkinkan pelanggan men-deploy modul langsung dari Cloud Marketplace.
Untuk menentukan apakah pelanggan harus menggunakan modul Terraform default atau kustom, dan, untuk modul Terraform kustom, cara Anda ingin pelanggan men-deploy modul, selesaikan langkah-langkah berikut:
Di Producer Portal, buka bagian Paket deployment.
Di bagian Konfigurasi Terraform, pada bagian Jenis, pilih Default, Kustom (deployment CLI), atau Kustom (deployment UI).
Persyaratan untuk modul Terraform kustom
Jika Anda memilih untuk menggunakan modul Terraform kustom, modul kustom Anda harus memenuhi persyaratan berikut:
Modul kustom Anda harus memiliki modul yang dapat digunakan Cloud Marketplace untuk memverifikasi bahwa modul tersebut memenuhi persyaratan. Untuk informasi selengkapnya, lihat Menguji apakah modul Anda lulus verifikasi.
Modul Anda harus memiliki variabel bernama
project_id
, yang menyimpan project ID yang digunakan pelanggan untuk men-deploy modul.Anda harus menentukan referensi ke nama image sebagai variabel Terraform, dengan format
projects/PROJECT_NAME/global/images/IMAGE_NAME
. Nilaidefault
harus ditetapkan ke nama image VM Anda, sehingga salinan image milik Cloud Marketplace dapat diganti ke dalam modul saat produk VM Anda dipublikasikan.Modul Anda tidak boleh bergantung pada modul luar yang tidak dipaketkan dengan modul tersebut.
Modul Anda hanya boleh menggunakan penyedia yang disetujui berikut:
archive
cloud-init
dns
google
google-beta
http
null
random
time
tls
Untuk contoh modul kustom yang sesuai dengan persyaratan ini, buka contoh modul Terraform kustom.
Persyaratan tambahan untuk modul Terraform kustom untuk deployment UI
Jika modul kustom Anda mendukung deployment UI, modul tersebut harus memenuhi persyaratan tambahan berikut:
Modul Anda harus berisi variabel yang disebut
goog_cm_deployment_name
. Cloud Marketplace menggunakan variabel ini untuk memberi nama deployment pelanggan Anda di halaman deployment mereka. Anda harus menggunakan variabel ini untuk menghindari konflik penamaan resource antara beberapa deployment dalam satu project. Sebagai contoh, lihatgoog_cm_deployment_name
di contoh modul Terraform kustom.Dalam file
metadata.display.yaml
, Anda harus menentukanET_GCE_DISK_IMAGE
sebagai jenisxGoogleProperty
untuk semua variabel gambar. Sebagai contoh, lihatmetadata.display.yaml
di contoh modul Terraform kustom.Jika produk Anda berisi image multi-VM atau image yang mendukung beberapa arsitektur CPU, Anda harus menambahkan
enumValueLabels
agar pelanggan dapat memilih image VM yang ingin mereka gunakan. Sebagai contoh, lihat contoh modul Terraform kustom.Modul Anda tidak boleh bergantung pada dukungan untuk penyedia Terraform.
Langkah tambahan untuk modul Terraform kustom
Jika memilih untuk menggunakan modul Terraform kustom, Anda harus menyelesaikan langkah-langkah tambahan berikut untuk mengonfigurasi image VM untuk deployment:
Di Producer Portal, buka bagian Paket deployment.
Di bagian Konfigurasi Terraform, di bagian Image Variables, klik Add variable.
Untuk mengaktifkan deployment Terraform produk, Anda harus mengaktifkan penggunaan image milik Marketplace. Cloud Marketplace menggunakan variabel yang Anda tambahkan di sini untuk menukar VM image versi milik Marketplace saat pelanggan men-deploy produk Anda.
Di kolom teks Image Variable, masukkan nama untuk variabel Anda, seperti "image".
Dalam modul Terraform kustom, tetapkan nilai default variabel yang Anda buat di langkah sebelumnya ke nama image VM untuk produk Anda, dalam format
projects/YOUR_PROJECT/global/images/YOUR_IMAGE
.Di bagian Tentukan lokasi objek GCS Anda, klik Browse.
Jika Anda telah membuat bucket Cloud Storage, pilih bucket tersebut di sini.
Jika Anda tidak memiliki bucket Cloud Storage, klik ikon berlabel Buat bucket baru. Saat membuat bucket baru, Anda:
Pilih nama untuk bucket.
Tentukan region tempat bucket menyimpan data.
Tentukan class penyimpanan untuk data Anda.
Tentukan tingkat perincian yang akan diterapkan ke izin Identity and Access Management (IAM) untuk data bucket.
Konfigurasikan setelan lanjutan opsional, seperti enkripsi atau kebijakan retensi data.
Pastikan Pembuatan Versi Objek diaktifkan untuk bucket Cloud Storage Anda.
Untuk menyimpan setelan bucket dan melanjutkan konfigurasi paket deployment, klik Configure.
Di bagian Peran yang diperlukan, tentukan peran IAM yang harus dimiliki pelanggan Anda untuk men-deploy produk Anda.
(Khusus deployment UI) Membuat metadata untuk modul Terraform kustom
Agar modul kustom dapat mendukung deployment UI, Anda harus membuat dan menambahkan metadata yang digunakan Cloud Marketplace untuk mengurai modul dengan benar dan merendernya di UI untuk pelanggan.
Untuk membuat dan menambahkan metadata ini, Anda dapat menggunakan alat CFT CLI open source. Untuk menggunakan CFT guna membuat dan menambahkan metadata ke modul kustom, selesaikan langkah-langkah berikut:
Instal alat CFT CLI. Untuk informasi selengkapnya, buka dokumentasi CFT CLI. Sebaiknya tetapkan nilai
VERSION
menjadilatest
, dan tetapkanPLATFORM
ke salah satu nilai berikut:linux
windows
darwin
Jalankan perintah berikut:
cft blueprint metadata -p TF_PACKAGE_PATH -q -d --nested=false
Pada perintah sebelumnya, flag
-p
memberikan jalur untuk paket Terraform, flag-q
menghasilkan metadata tanpa memerlukan informasi untuk repositori jarak jauh, flag-d
menghasilkan filemetadata.display.yaml
, dan flag--nested=false
menghasilkan metadata untuk modul root, yang melewati modul apa pun di foldermodules/
.
Setelah Anda menyelesaikan langkah-langkah sebelumnya, alat CFT CLI akan membuat dua file baru:
metadata.yaml
dan metadata.display.yaml
.
Menyesuaikan metadata modul Terraform kustom
Cloud Marketplace menggunakan file metadata.display.yaml
untuk menyesuaikan
formulir yang digunakan pelanggan untuk men-deploy produk Anda melalui UI. Jika ingin
menyesuaikan formulir ini, setelah membuat metadata, Anda dapat mengubah nilai
kolom di metadata.display.yaml
. Untuk mengetahui detail opsi
penyesuaian yang tersedia, buka dokumentasi BlueprintUI open source,
atau lihat
skema BlueprintUI.
Sebaiknya gunakan ekstensi
GooglePropertyExtensions
untuk mengubah metadata. GooglePropertyExtensions
memungkinkan Anda menggunakan
validasi khusus Google Cloud, seperti mewajibkan pelanggan untuk
hanya memilih jaringan Virtual Private Cloud (VPC) yang sudah ada di
project mereka. Sebagai contoh, lihat
contoh modul Terraform kustom.
Memvalidasi metadata modul kustom
Untuk memvalidasi metadata modul kustom, jalankan perintah berikut:
cft blueprint metadata -p TF_PACKAGE_PATH -v
Pada perintah sebelumnya, flag -p
memberikan jalur untuk paket Terraform, dan flag -v
memvalidasi semua file metadata di jalur yang disediakan berdasarkan skema BlueprintMetadata
.
Menguji apakah modul Anda lulus verifikasi
Modul kustom Anda lulus verifikasi jika perintah berikut berhasil dijalankan:
terraform plan -var project_id=YOUR_PROJECT -var-file marketplace_test.tfvars
Dalam perintah sebelumnya, marketplace_test.tfvars
adalah file variabel Terraform yang hanya digunakan Cloud Marketplace, semata-mata untuk verifikasi modul ini. Jika template Anda mendeklarasikan variabel yang tidak memiliki nilai default,
dan Anda tidak menetapkan nilai untuk variabel tersebut, perintah tidak akan berhasil
berjalan. Untuk memastikan perintah berhasil berjalan, Anda dapat membuat
file marketplace_test.tfvars
untuk menetapkan nilai bagi variabel yang
dideklarasikan template. Untuk contoh file marketplace_test.tfvars
, lihat
contoh modul Terraform kustom.
(Opsional) (Khusus deployment CLI) Menyertakan modul pengujian
Secara opsional, jika modul kustom Anda mendukung deployment CLI, Anda dapat memilih untuk menyertakan folder bernama examples/marketplace_test
. Anda mungkin ingin melakukannya jika
produk Anda perlu menyertakan modul pengujian terpisah untuk memverifikasi
kemampuannya. Jika Anda menyertakan folder ini, agar modul Anda lulus
verifikasi, perintah berikut harus berhasil dijalankan:
terraform -chdir=examples/marketplace_test plan -var project_id=YOUR_PROJECT
Memvalidasi dan menguji deployment
Setelah membuat dan mengonfigurasi paket deployment, Anda harus memvalidasi dan mengujinya sebelum tim Cloud Marketplace dapat meninjau dan menyetujuinya.
Di Producer Portal, buka bagian Paket deployment.
Klik Validasi. Proses validasi dapat memerlukan waktu hingga dua jam untuk selesai, dan Anda dapat keluar dari layar saat proses berjalan.
Setelah validasi berhasil diselesaikan, klik Pratinjau deployment untuk menguji deployment Anda.
Langkah selanjutnya
Setelah berhasil memvalidasi dan menguji deployment, Anda dapat mengklik Publikasikan untuk mengirimkan keseluruhan produk Anda untuk ditinjau dan dipublikasikan di Cloud Marketplace. Untuk mengetahui detailnya, lihat Mengirimkan produk Anda.