Contoh lengkap ini menjelaskan cara membuat deployment dengan virtual machine yang menggunakan image yang dioptimalkan untuk container. Untuk informasi selengkapnya tentang cara menggunakan penampung dengan Compute Engine, lihat Image Compute Engine yang Dioptimalkan untuk Penampung.
Panduan ini menjelaskan cara:
- Buat manifes penampung sederhana.
- Buat konfigurasi dan template yang menggunakan image container.
- Deploy resource Anda dan pastikan deployment berhasil.
Membuat manifes penampung
Untuk menggunakan penampung, Anda harus menentukan manifes penampung. Manifes menjelaskan properti seperti image container, container yang akan diluncurkan, perintah yang akan 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 memproses port 8080.
Membuat template dan konfigurasi
Selanjutnya, buat template yang meluncurkan instance virtual machine dengan
image yang dioptimalkan untuk penampung. 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
. Pengelola Deployment secara 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 Anda mengganti ZONE_TO_RUN
dengan zona yang diinginkan untuk virtual
machine Anda. Perhatikan bahwa file juga telah menentukan image container yang akan digunakan dan
manifes container yang Anda buat sebelumnya.
Men-deploy instance virtual machine
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. 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 berjalan
Untuk menguji apakah instance penampung Anda dimulai, buka alamat IP eksternal virtual machine di browser Anda, yang akan mencetak hello world
:
Tambahkan aturan firewall Compute Engine untuk mengizinkan Anda 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 eksternal 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.
gcloud deployment-manager deployments delete my-container-deployment
Langkah selanjutnya
Pelajari Deployment Manager lebih lanjut di Panduan Pengguna Lengkap atau melalui API.
Coba beberapa tutorial lainnya: