Halaman ini membantu Anda membuat image mesin publik untuk produk Anda agar dapat berjalan di Compute Engine.
An image berisi boot loader, sistem operasi, dan sistem file root yang diperlukan untuk memulai instance. Anda dapat mengonfigurasi image dengan serangkaian aplikasi dan layanan untuk produk Anda. Image digunakan oleh pelanggan untuk meluncurkan instance virtual machine (VM) di cloud.
Sebaiknya mulai dengan membuat image di project pengembangan Anda, lalu pindahkan ke project publik Anda setelah Google Partner Engineer Anda memverifikasi image tersebut.
Sebelum memulai
- Download the Google Cloud SDK.
Membuat VM produk dasar
Untuk membuat image mesin kustom untuk Cloud Marketplace, Anda harus menyelesaikan langkah-langkah berikut (dijelaskan di bagian berikutnya):
Gunakan salah satu image publik dasar yang didukung Google untuk membuat VM, dan instal paket serta konfigurasi khusus aplikasi Anda.
Anda dapat memilih image yang menggunakan prosesor Arm atau yang menggunakan prosesor x86. Anda juga dapat menyertakan beberapa image, yang menargetkan jenis mesin yang berbeda, dalam satu produk VM. Untuk mengetahui informasi selengkapnya tentang platform CPU dan jenis mesin yang mendukungnya, lihat Platform CPU.
Jika Anda ingin memberikan dukungan kepada pelanggan, instal skrip untuk mengambil kredensial pengguna aplikasi.
Membuat image VM berlisensi
Gunakan gcloud untuk menetapkan setelan default untuk Google Cloud CLI:
gcloud config set project <project_id> gcloud config set compute/zone <zone>
Buat instance utama yang digunakan untuk menginstal software Anda, dan nantinya, dikonversi menjadi image untuk digunakan di Cloud Marketplace. Untuk mengetahui informasi selengkapnya tentang cara membuat instance, lihat Membuat dan memulai instance.
gcloud compute instances create ${INSTANCE} --scopes https://www.googleapis.com/auth/cloud-platform
Instal dan sesuaikan software Anda. Sertakan skrip startup yang diperlukan, seperti skrip untuk membuat kredensial otorisasi.
Untuk membuat kredensial otorisasi menggunakan sandi acak yang aman, ikuti langkah-langkah di Membuat kredensial otorisasi, di bagian berikut.
Setelah Anda membuat dan menyesuaikan instance utama, siapkan disk yang diperlukan untuk membuat image VM.
Bersihkan disk Anda. Membuat image VM langsung dari VM Anda juga akan mentransfer direktori pengguna dan kunci SSH ke VM pelanggan Anda, sehingga Anda harus membersihkan disk input saat membuat image VM.
Untuk membersihkan disk:
Di menu VM Instances Compute Engine, klik nama instance yang ingin Anda bersihkan, lalu klik Edit.
Scroll ke bawah dan hapus centang pada kotak Delete boot disk when instance is deleted , lalu klik Save. Anda menggunakan disk untuk membuat image.
Hapus VM sambil mempertahankan disk. Anda akan diminta untuk mengonfirmasi penghapusan. Jangan pilih Also delete boot disk.
Selanjutnya, Anda harus membuat Instance VM baru. Luaskan opsi Management, disk, networking, SSH keys.
Di bagian disk, lampirkan disk dari instance sebelumnya sebagai disk data tambahan. Pastikan Keep disk dipilih untuk When deleting instance.
Sekarang Anda dapat melakukan SSH ke instance dan menghapus direktori utama atau file sementara lainnya yang dibuat selama proses penginstalan software. Anda harus memasang disk data sebelum dapat mengaksesnya. Untuk mengetahui informasi selengkapnya tentang cara memasang disk, lihat Menambahkan atau Mengubah Ukuran Persistent Disk.
Setelah selesai, matikan dan hapus instance sambil mempertahankan disk data yang diperbarui. Sekarang Anda dapat membuat image VM dengan menyelesaikan langkah-langkah berikut.
Dapatkan nama lisensi untuk produk VM Anda di Producer Portal menggunakan langkah-langkah berikut:
Buka Producer Portal di Google Cloud konsol:
https://console.cloud.google.com/producer-portal?project=YOUR_PROJECT_ID
Ganti YOUR_PROJECT_ID dengan ID untuk project pengembangan atau project publik Anda. Sebaiknya mulai dengan membuat image di project pengembangan Anda, lalu pindahkan ke project publik Anda setelah Google Partner Engineer Anda memverifikasi image tersebut.
Klik nama produk Anda.
Buka bagian Deployment Package. Di bagian VM license, catat namanya. Anda akan menggunakan nama lisensi ini pada langkah berikutnya, saat membuat image.
Buat image berlisensi dengan menjalankan perintah berikut
gcloud:gcloud compute images create CREATE_IMAGE_NAME \ --project PUBLIC_PROJECT_NAME \ --source-disk projects/DEV_PROJECT_NAME/zones/SOURCE_DISK_ZONE/disks/SOURCE_DISK_NAME \ --licenses LICENSE_NAME \ --description ADD_DESCRIPTION
Ganti kode berikut:
CREATE_IMAGE_NAME: Nama image Anda dan arsitektur CPU yang didukungnya, dalam format
who-vmOS-image-architecture-date, gantiarchitecturedenganArmataux86_64, bergantung pada arsitektur CPU yang didukung image. Anda harus menggunakan nama baru dan unik setiap kali memperbarui image untuk produk Anda.PUBLIC_PROJECT_NAME: Project ID untuk project publik Anda untuk Cloud Marketplace. Anda harus telah diberi peran Compute Storage Admin (
roles/compute.storageAdmin) untuk project ini.LICENSE_NAME: Nama lisensi untuk produk VM Anda yang Anda catat pada langkah sebelumnya.
DEV_PROJECT_NAME: Project ID untuk project yang Anda buat untuk pengembangan dan pengujian untuk Cloud Marketplace. Anda harus memiliki peran Compute Image User (
roles/compute.imageUser) untuk project ini.SOURCE_DISK_ZONE: Zona disk sumber.
SOURCE_DISK_NAME: Nama disk sumber.
ADD_DESCRIPTION: Deskripsi teks opsional untuk image yang sedang dibuat.
Membuat image menjadi publik
Untuk produk non-Terraform yang tidak menggunakan image milik Marketplace, Anda harus membuat image Anda tersedia secara publik agar pelanggan dapat men-deploy-nya ke instance Compute Engine mereka. Untuk membuat image menjadi publik, gunakan Google Cloud konsol, atau Google Cloud CLI:
Konsol
Di project publik Anda, di bagian Compute Engine, buka halaman Images.
Pilih image Anda, seperti yang ditunjukkan di bawah:

Jika Anda tidak melihat panel info di kanan atas, klik Show Info Panel.
Di panel info, di kolom Add Members, masukkan
allAuthenticatedUsers, dan dari menu Select a role, pilih Compute Image User.
Klik Add untuk membuat image Anda menjadi publik.
Command Line
Gunakan perintah gcloud berikut di
Cloud Shell, atau di mesin lokal
Anda:
gcloud compute images add-iam-policy-binding IMAGE_NAME --member=allAuthenticatedUsers --role=roles/compute.imageUser
Membuat kredensial otorisasi
Jika produk Anda adalah deployment sederhana dari satu instance VM dengan aturan firewall dasar, Anda dapat otomatis menyertakan sandi acak yang aman saat mengonfigurasi paket deployment Anda secara langsung.
Jika Anda berencana membuat paket deployment menggunakan alat
open source mpdev,
yang kami rekomendasikan untuk sebagian besar kasus penggunaan, Anda dapat menggunakan mpdev untuk otomatis
menyertakan beberapa sandi acak yang aman.
Untuk mengetahui langkah-langkah membuat kredensial otorisasi, lihat Membuat paket deployment Anda.
Setelah produk Anda di-deploy, untuk mendapatkan nilai sandi yang Anda buat, gunakan perintah berikut dari dalam instance VM Anda:
curl -H "Metadata-Flavor: Google" \ http://metadata/computeMetadata/v1/instance/attributes/PASSWORD_NAME
Menguji image VM
Buat instance VM dengan image yang baru Anda buat, dan verifikasi fungsinya.
Selain itu, untuk memverifikasi ID lisensi, lakukan SSH ke instance dan verifikasi bahwa lisensi yang valid dilampirkan:
curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/licenses/?recursive=true
Verifikasi bahwa Python 2.6 atau yang lebih baru telah diinstal:
python -VVerifikasi bahwa paket berikut telah diinstal:
gcloud --version ssh -V ps aux | grep sshd curl -V ps aux | grep dhcp
Periksa untuk memastikan bahwa tidak ada direktori pengguna lain yang diinstal di instance kecuali milik Anda sendiri, dan tidak ada direktori dan kredensial pengguna yang tersisa selain milik Anda sendiri.