Sebelum mengaktifkan aplikasi Terraform Kubernetes melalui Producer Portal, sebaiknya siapkan lingkungan Google Cloud dan aplikasi Terraform Kubernetes Anda untuk Google Cloud Marketplace.
Sebelum memulai
Untuk mendapatkan akses ke Producer Portal, pastikan Anda telah mengisi Formulir Info Project Cloud Marketplace.
Buat ruang kerja Anda
Sebaiknya buat project baru di
Google Cloud konsol,
dengan project ID yang berakhiran -public
, terutama untuk produk Cloud Marketplace
Anda. Untuk mengetahui petunjuk mendetail, lihat
Membuat dan mengelola project.
Jika Anda sudah menyiapkan project untuk menjual di Cloud Marketplace, verifikasi bahwa peran Identity and Access Management (IAM) diberikan dengan benar untuk Kubernetes, dan langsung buka Menyiapkan Artifact Registry dalam dokumen ini.
Memberikan peran Identity and Access Management dan menentukan kontak keamanan untuk project Anda
Untuk memberikan peran Identity and Access Management (IAM) dan menentukan kontak keamanan untuk project Anda, selesaikan langkah-langkah berikut:
Berikan peran IAM berikut di level project:
- Project Editor, ke
cloud-commerce-marketplace-onboarding@twosync-src.google.com
- Service Management Administrator
(
roles/servicemanagement.serviceAdmin
), kecloud-commerce-marketplace-onboarding@twosync-src.google.com
danmanaged-services@cloud-marketplace.iam.gserviceaccount.com
- Editor Konfigurasi (
roles/servicemanagement.configEditor
), kecloud-commerce-producer@system.gserviceaccount.com
Untuk mengetahui petunjuk mendetail, lihat Memberikan, mengubah, dan mencabut akses ke resource.
- Project Editor, ke
Berikan peran berikut, di tingkat layanan, kepada
cloud-commerce-procurement@system.gserviceaccount.com
:- Konsumen Layanan (
roles/servicemanagement.serviceConsumer
) - Service Controller (
roles/servicemanagement.serviceController
)
Untuk mengetahui langkah-langkah memberikan akses di tingkat layanan, lihat Memberikan dan mencabut akses ke API.
- Konsumen Layanan (
Tentukan kontak keamanan. Untuk mengetahui informasi selengkapnya, lihat Mengelola kontak untuk notifikasi.
Menyiapkan Artifact Registry
Untuk menyiapkan Artifact Registry, selesaikan langkah-langkah berikut:
- Instal gcloud CLI.
Untuk mengupdate penginstalan yang ada, jalankan perintah
gcloud components update
. Catatan: Di Ubuntu, gunakan paket Debian untuk menginstal gcloud CLI. Paket snap gcloud CLI tidak menyertakankubectl
atau ekstensi untuk melakukan autentikasi dengan Artifact Registry menggunakan gcloud CLI. - Instal Docker jika belum diinstal.
- Aktifkan Artifact Registry API, yang memungkinkan Anda mengirim ke Artifact Registry.
Aktifkan API - Buat repositori Artifact Registry penyiapan. Untuk mengetahui langkah-langkah mendetail, lihat Menyimpan image container Docker di Artifact Registry.
- Aktifkan Artifact Analysis, yang memungkinkan pemindaian keamanan, untuk repositori Artifact Registry Anda.
- Beri tag dan kirim image yang ingin Anda distribusikan di aplikasi ke repositori Artifact Registry penyiapan.
Memberi tag dan mengirim gambar Anda
Untuk memberi tag dan mengirim image ke Artifact Registry, selesaikan langkah-langkah berikut:
- Pilih jalur repositori penyiapan Artifact Registry Anda. Sebaiknya repositori Anda menggunakan struktur berikut:
us-docker.pkg.dev/YOUR_PARTNER_ID/YOUR_SOLUTION_ID
. Repositori penyiapan Anda harus berada dalamus-docker.pkg.dev
. Cloud Marketplace tidak mendukung wilayah lain atau domaingcr.io
, sepertieurope-docker.pkg.dev
,gcr.io
, ataueu.gcr.io
, untuk aplikasi Kubernetes Terraform. - Simpan atau salin jalur repositori penyiapan Anda saat Anda membuat produk di Producer Portal.
- Bangun image yang ingin Anda kirim ke repositori penyiapan Artifact Registry.
Gunakan Docker untuk memberi tag pada image dengan nomor versinya, seperti
1.0
:docker tag IMAGE_NAME STAGING_REPO_PATH:VERSION_NUMBER
Misalnya, perintah ini bisa berupa:
docker tag test-image us-docker.pkg.dev/testpartner/testsolution:1.0
.Gunakan
gcloud
untuk mengirim image Anda:gcloud docker push STAGING_REPO_PATH:tag
Untuk setiap tag atau gambar tambahan yang ingin Anda tambahkan ke repositori penyiapan, ulangi langkah-langkah sebelumnya. Anda dapat menambahkan beberapa tag ke satu gambar.
Mengirim image ke repositori penyiapan tidak akan otomatis membuat image tersebut terlihat oleh pengguna. Gambar Anda akan terlihat oleh pengguna setelah Anda memublikasikannya.
Membuat cluster pengembangan di Kubernetes Engine
Anda menggunakan Google Kubernetes Engine untuk mengelola dan menskalakan cluster Kubernetes. Untuk membuat cluster pengujian dan men-deploy aplikasi dasar ke cluster tersebut, ikuti panduan memulai Google Kubernetes Engine.
Mengatur rilis
Secara umum, setiap versi aplikasi Anda harus menerapkan
Pembuatan Versi Semantik 2.0, yang
mengikuti konvensi penomoran MAJOR.MINOR.PATCH
. Setiap versi harus memiliki
nomor versi unik, seperti 1.0.1
, 1.0.2
, atau 1.3.1
. Secara opsional, untuk menambahkan pengubah pra-rilis, gunakan tanda hubung setelah nomor versi, seperti 1.3.1-alpha201910
. Anda dapat menggunakan pengubah pra-rilis untuk menyimpan dan menandai
informasi tambahan yang Anda anggap berguna, seperti tanggal build yang menunjukkan
kapan versi dibuat.
Sebaiknya rilis software Anda di jalur. Setiap jalur adalah serangkaian
versi dengan update yang kompatibel mundur. Jalur rilis Anda harus
didasarkan pada versi minor, seperti 4.1.x
. Hindari penggunaan nama versi generik,
seperti newest
.
Misalnya, jika Anda merilis aplikasi versi 2.0
di Cloud Marketplace, dan Anda berharap versi 2.0.1
, 2.0.5
, dan yang lebih baru akan kompatibel mundur dengan 2.0
, atur rilis ini di jalur rilis 2.0
.
Saat merilis aplikasi versi yang tidak kompatibel dengan versi sebelumnya, atau versi yang memerlukan pengguna melakukan langkah-langkah migrasi manual, rilis di jalur baru, sehingga pengguna dapat merencanakan update mereka.
Membuat dan mengupload wrapper modul Terraform ke Cloud Storage
Anda harus menyediakan modul Terraform yang dapat digunakan pengguna Cloud Marketplace untuk men-deploy aplikasi Kubernetes Terraform Anda. Modul ini menggunakan Penyedia Helm untuk men-deploy diagram Helm yang Anda berikan. Untuk mengetahui langkah-langkah membuat modul Terraform yang kompatibel dengan aplikasi Terraform Kubernetes Anda, lihat Panduan partner Terraform Kubernetes di GitHub.
(Deployment UI saja) Buat metadata untuk modul Terraform kustom Anda
Agar modul kustom Anda mendukung deployment UI, Anda harus membuat dan menambahkan metadata yang digunakan Cloud Marketplace untuk mengurai modul Anda dengan benar dan merendernya di UI untuk pelanggan Anda.
Untuk membuat dan menambahkan metadata ini, gunakan alat CFT CLI open source untuk menyelesaikan langkah-langkah berikut:
Instal alat CFT CLI. Sebaiknya tetapkan nilai
VERSION
menjadilatest
, dan tetapkanPLATFORM
ke salah satu nilai berikut:linux
windows
darwin
Untuk mengetahui informasi selengkapnya, buka dokumentasi CFT CLI.
Jalankan perintah berikut:
cft blueprint metadata -p TF_PACKAGE_PATH -q -d --nested=false
Dalam perintah ini, flag digunakan sebagai berikut:
- Flag
-p
menyediakan jalur untuk paket Terraform. - Flag
-q
menghasilkan metadata tanpa memerlukan informasi untuk repositori jarak jauh. - Flag
-d
menghasilkan filemetadata.display.yaml
. - Flag
--nested=false
menghasilkan metadata untuk modul root, dengan melewati modul apa pun di foldermodules/
.
- Flag
Setelah Anda menyelesaikan langkah-langkah sebelumnya, alat CFT CLI akan membuat file berikut:
metadata.yaml
metadata.display.yaml
Menyesuaikan metadata modul Terraform kustom Anda
Cloud Marketplace menggunakan file metadata.display.yaml
untuk membuat formulir yang digunakan pelanggan untuk men-deploy produk Anda melalui UI. Untuk menyesuaikan tampilan formulir bagi pelanggan, ubah nilai kolom di metadata.display.yaml
. Untuk mengetahui detail opsi penyesuaian yang tersedia,
buka
dokumentasi UI Blueprint open source,
atau lihat
skema UI Blueprint.
Sebaiknya gunakan ekstensi
GooglePropertyExtensions
untuk mengubah metadata Anda. GooglePropertyExtensions
memungkinkan Anda menggunakan validasi yang
khusus untuk Google Cloud, seperti memastikan bahwa pelanggan hanya dapat
memilih jaringan Virtual Private Cloud (VPC) yang sudah ada di
Google Cloud project mereka. Sebagai contoh, lihat
modul Terraform kustom contoh.
Memvalidasi metadata modul kustom
Untuk memvalidasi metadata modul kustom, jalankan perintah berikut:
cft blueprint metadata -p TF_PACKAGE_PATH -v
Pada perintah sebelumnya, tanda berfungsi sebagai berikut:
- Flag
-p
menyediakan jalur untuk paket Terraform. - Flag
-v
memvalidasi semua file metadata di jalur yang diberikan, berdasarkan skemaBlueprintMetadata
.
Pilih kode produk Anda
Anda harus memilih ID berikut untuk perusahaan, produk, dan image container Anda, yang digunakan untuk membuat URL Cloud Marketplace dan URI untuk image container Anda:
- Nama perusahaan Anda. Misalnya, jika nama perusahaan Anda adalah Examplesoft
Inc., Anda dapat menggunakan ID
examplesoft
. - Nama produk Anda. Misalnya, jika nama produknya adalah Example Pro, gunakan
ID
example-pro
. - Jalur rilis produk Anda, seperti
4.0
. Untuk mengetahui detailnya, lihat Mengatur rilis, sebelumnya di halaman ini.
Contoh kode produk
Misalnya, perusahaan Examplesoft Inc. memilih ID berikut untuk produknya, Example Pro:
Nama | ID | |
---|---|---|
Perusahaan | Examplesoft Inc | examplesoft |
Produk | Contoh Profesional | example-pro |
Diagram Helm | Diagram Helm | diagram |
Gambar [1] | Contoh Database | example-db |
Gambar [2] | Contoh Antrean | example-queue |
Jalur rilis [1] | Versi 4.x.x | 4.0 |
Jalur rilis [2] | Versi 5.x.x | 5,0 |
Dari ID ini, informasi berikut dibuat secara otomatis:
- URL produk di Cloud Marketplace:
https://console.cloud.google.com/marketplace/details/examplesoft/example-pro
- URI Artifact Registry di project Anda:
us-docker.pkg.dev/examplesoft/example-pro/chart:4.0
us-docker.pkg.dev/examplesoft/example-pro/example-db:4.0
us-docker.pkg.dev/examplesoft/example-pro/example-query:4.0
us-docker.pkg.dev/examplesoft/example-pro/chart:5.0
us-docker.pkg.dev/examplesoft/example-pro/example-db:5.0
us-docker.pkg.dev/examplesoft/example-pro/example-query:5.0
Langkah berikutnya
Setelah menyiapkan lingkungan Google Cloud untuk aplikasi Terraform Kubernetes, lanjutkan penyiapan aplikasi untuk publikasi dengan menyelesaikan langkah-langkah berikut:
- Tambahkan aplikasi Terraform Kubernetes Anda ke Producer Portal.
- Tambahkan informasi harga untuk aplikasi Anda.
- Konfigurasi deployment aplikasi Anda, termasuk chart Helm dan image container-nya.