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 diakhiri dengan -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, pastikan 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.
- Editor Konfigurasi (
roles/servicemanagement.configEditor
), kecloud-commerce-producer@
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@
:- 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 staging.
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 memperkirakan bahwa 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 mengharuskan pengguna melakukan langkah-langkah migrasi manual, rilis di jalur baru, sehingga pengguna dapat merencanakan update mereka.
Buat dan upload wrapper modul Terraform Anda 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.
Memilih 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, yang sebelumnya ada di halaman ini.
Contoh kode produk
Misalnya, perusahaan Examplesoft Inc. memilih kode 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 |
Release track [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 untuk aplikasi Terraform Kubernetes, lanjutkan penyiapan aplikasi untuk publikasi dengan menyelesaikan langkah-langkah berikut: Google Cloud
- Tambahkan aplikasi Kubernetes Terraform Anda ke Producer Portal.
- Tambahkan informasi harga untuk aplikasi Anda.
- Konfigurasi deployment aplikasi Anda, termasuk chart Helm dan image container-nya.