Contoh lengkap ini menjelaskan cara membuat deployment dengan virtual machine yang menggunakan image yang dioptimalkan untuk container. Untuk mengetahui informasi selengkapnya tentang cara menggunakan container dengan Compute Engine, lihat Image Compute Engine yang Dioptimalkan untuk Container.
Panduan ini menjelaskan cara:
- Buat manifes container sederhana.
- Membuat konfigurasi dan template yang menggunakan image container.
- Deploy resource Anda dan pastikan deployment berhasil.
Membuat manifes container
Untuk menggunakan container, Anda harus menentukan manifes container. Manifes menjelaskan properti seperti image container, container yang akan diluncurkan, perintah untuk dijalankan saat booting, dan port yang akan diaktifkan.
Buat file bernama container_manifest.yaml
dengan konten berikut:
Manifes ini membuat penampung bernama simple-echo yang menggunakan image container Hello Application dan meluncurkan server echo yang memantau port 8080.
Membuat template dan konfigurasi
Selanjutnya, buat template yang meluncurkan instance virtual machine 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 akan 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 telah Anda buat sebelumnya.
Men-deploy instance virtual machine Anda
Terakhir, deploy instance virtual machine 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 Anda. 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 -
Memastikan instance Anda sudah 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 agar Anda dapat membuat kueri traffic di virtual machine melalui port 8080:
gcloud compute firewall-rules create allow-8080 --allow tcp:8080
Dapatkan 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 Anda
Jika Anda ingin menghemat biaya dan tidak lagi menginginkan atau memerlukan deployment, hapus deployment Anda.
gcloud deployment-manager deployments delete my-container-deployment
Langkah selanjutnya
Pelajari Deployment Manager lebih lanjut di Panduan Pengguna Lengkap atau melalui API.
Cobalah beberapa tutorial lainnya:
- Membuat aplikasi buku catatan ber-load balanced.
- Membuat aplikasi buku catatan HTTP yang di-load balanced.