Contoh lengkap ini menjelaskan cara membuat deployment dengan mesin virtual yang menggunakan image yang dioptimalkan untuk container. Untuk mengetahui informasi selengkapnya tentang penggunaan container dengan Compute Engine, lihat Image Compute Engine yang Dioptimalkan untuk Container.
Panduan ini menjelaskan cara:
- Membuat manifes container sederhana.
- Membuat konfigurasi dan template yang menggunakan image container.
- Men-deploy resource dan memverifikasi bahwa deployment berhasil.
Membuat manifes container
Untuk menggunakan container, Anda harus menentukan manifes container. Manifes ini menjelaskan properti seperti image container, container yang akan diluncurkan, perintah yang akan dieksekusi saat booting, dan port yang akan diaktifkan.
Buat file bernama container_manifest.yaml dengan konten berikut:
Manifes ini membuat container bernama simple-echo yang menggunakan image container Aplikasi Halo dan meluncurkan server echo yang me-listen port 8080.
Membuat template dan konfigurasi
Selanjutnya, buat template yang meluncurkan instance mesin virtual dengan image yang dioptimalkan untuk container. Buat file bernama container_vm.[jinja|py] dengan konten berikut:
Jinja
Python
Buat file skema yang sesuai, yang menerapkan struktur template:
Jinja
Python
Perhatikan bahwa ada sejumlah parameter yang ditentukan dalam template ini, termasuk:
- Variabel lingkungan
deployment,name, danproject. Deployment Manager otomatis mengisi variabel tersebut tanpa tindakan tambahan dari Anda. - Properti
zone,containerImage, dancontainerManifest, yang akan ditentukan dalam konfigurasi.
Buat file konfigurasi bernama container_vm.yaml yang terlihat seperti berikut:
Jinja
Python
Pastikan untuk mengganti ZONE_TO_RUN dengan zona yang diinginkan untuk mesin virtual Anda. Perhatikan bahwa file tersebut juga telah menentukan image container yang akan digunakan dan manifes container yang Anda buat sebelumnya.
Men-deploy instance mesin virtual
Terakhir, deploy instance mesin virtual Anda menggunakan Google Cloud CLI:
gcloud deployment-manager deployments create my-container-deployment \
--config container_vm.yaml
Setelah deployment dibuat, Anda dapat melihat detail deployment. Contoh:
$ gcloud deployment-manager deployments describe my-container-deployment
creationTimestamp: '2015-04-02T12:24:31.645-07:00'
fingerprint: ''
id: '8602410885927938432'
manifest: https://www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments/my-container-deployment/manifests/manifest-1428002671645
name: my-container-deployment
state: DEPLOYED
resources:
NAME TYPE ID UPDATE_STATE ERRORS
my-container-deployment-my-container-vm compute.v1.instance 3775082612632070557 COMPLETED -
Memverifikasi bahwa instance Anda berjalan
Untuk menguji apakah instance container Anda dimulai, buka alamat IP eksternal mesin virtual di browser Anda, yang akan mencetak hello world:
Tambahkan aturan firewall Compute Engine untuk memungkinkan Anda melakukan kueri traffic di mesin virtual melalui port 8080:
gcloud compute firewall-rules create allow-8080 --allow tcp:8080Dapatkan alamat IP eksternal instance Anda:
$ gcloud compute instances describe my-container-deployment-my-container-vm ... name: my-container-vm-my-container-deployment networkInterfaces: - accessConfigs: - kind: compute#accessConfig name: external-nat natIP: 104.197.8.138 type: ONE_TO_ONE_NAT name: nic0 network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default networkIP: 10.240.97.220 scheduling: automaticRestart: true onHostMaintenance: MIGRATE selfLink: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/my-container-deployment-my-container-vm status: RUNNING tags: fingerprint: 42WmSpB8rSM= zone: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a ...Dalam hal ini, IP eksternalnya adalah
104.197.8.138.Di jendela browser, masukkan IP eksternal dan port 8080 di kolom browser. Misalnya,
104.197.8.138:8080.Jika berhasil, Anda akan melihat pesan
hello world.
(Opsional) Menghapus deployment
Jika Anda ingin menghemat biaya dan tidak lagi menginginkan atau memerlukan deployment, hapus deployment Anda.
gcloud deployment-manager deployments delete my-container-deployment
Langkah berikutnya
Pelajari lebih lanjut Deployment Manager di Panduan Pengguna Lengkap atau melalui API.
Coba beberapa tutorial lainnya: