Panduan ini menunjukkan cara menjalankan aplikasi lingkungan fleksibel App Engine di GKE. Untuk menjalankan aplikasi di GKE, Anda harus membuat Dockerfile untuk aplikasi tersebut, membangun container dengan Cloud Build, lalu menjalankan container tersebut di GKE. Kode tidak perlu diubah.
Sebelum memulai
Sebelum mengikuti petunjuk di halaman ini, lakukan langkah-langkah berikut:
Pastikan aplikasi Anda berhasil di-deploy dan berjalan di lingkungan fleksibel App Engine.
Dalam petunjuk ini, Anda akan menggunakan project yang sama dengan yang digunakan untuk aplikasi App Engine. Anda dapat membuat dan menggunakan project baru kapan saja, jika ingin.
Aktifkan API GKE, Cloud Build.
Download dan instal Google Cloud CLI, lalu inisialisasi alat gcloud: Download Google Cloud SDK.
Atau, Anda dapat menggunakan Cloud Shell, yang dilengkapi dengan gcloud CLI,
git
, dan fitur lainnya yang sudah terinstal, seperti dukungan bahasa, alat, dan editor.Instal alat command line
kubectl
:gcloud components install kubectl
Membuat Dockerfile untuk aplikasi App Engine Anda
Buat Dockerfile untuk aplikasi Anda seperti yang dijelaskan di bagian Membuat Dockerfile.
Membangun container dari Dockerfile
Untuk membangun container:
Pastikan Anda berada di direktori aplikasi App Engine yang berisi Dockerfile.
Ubah project default yang digunakan alat
gcloud
agar mengarah ke project yang Anda gunakan untuk menjalankan aplikasi di GKE:gcloud config set project [YOUR-PROJECT-ID]
Ganti
[YOUR-PROJECT-ID]
dengan ID project GKE Anda.Bangun container menggunakan perintah berikut:
gcloud builds submit --tag gcr.io/[YOUR-PROJECT-ID]/[YOUR-CONTAINER-NAME] .
Ganti
[YOUR-PROJECT-ID]
dengan ID project dari project GKE Anda, dan ganti[YOUR-CONTAINER-NAME]
dengan nama container yang ingin Anda gunakan untuk container aplikasi.Tunggu hingga container selesai dibangun: proses ini mungkin memerlukan waktu beberapa saat. Jika berhasil diselesaikan, pesan seperti ini akan ditampilkan:
Created [https://cloudbuild.googleapis.com/v1/projects/YOUR-PROJECT-ID/builds/xxxxxxx-xxxx-xxx-xxx-xxxxxxxxxxxx]. Logs are permanently available at [https://console.developers.google.com/logs/viewer?resource=build&project=YOUR-PROJECT-ID&filters=text:xxxx-xxx-xxx-xxxxxxxxxxxx]]. ID CREATE_TIME DURATION SOURCE IMAGES STATUS xxxxxxx-xxxx-xxx-xxx-xxxxxxxxxxxx 2017-03-04T00:42:10+00:00 1M32S gs://YOUR-PROJECT-ID_cloudbuild/source/xxxxxxx.08.tgz gcr.io/YOUR-PROJECT-ID/YOUR-CONTAINER-NAME SUCCESS<
Catat nama container: Anda perlu menentukan nama ini saat menjalankannya di GKE.
Menjalankan aplikasi di GKE
Untuk menjalankan container yang menyimpan aplikasi Anda:
Buat cluster (proses ini mungkin memerlukan waktu beberapa menit):
gcloud container clusters create [YOUR-CLUSTER-NAME]
Ganti
[YOUR-CLUSTER-NAME]
dengan nama yang ingin Anda berikan ke cluster.Dari command line, tetapkan zona komputasi Anda:
gcloud config set compute/zone us-central1-b
Pastikan alat
kubectl
GKE diberi otorisasi:gcloud container clusters get-credentials [YOUR-CLUSTER-NAME]
Ikuti petunjuk untuk memberikan otorisasi pada alat.
Jalankan container yang menyimpan aplikasi Anda:
kubectl create deployment [YOUR-DEPLOYMENT-NAME] --image=gcr.io/[YOUR-PROJECT-ID]/[YOUR-CONTAINER-NAME]
Ganti
[YOUR-DEPLOYMENT-NAME]
dengan nama yang ingin digunakan untuk deployment, ganti[YOUR-PROJECT-ID]
dengan ID project GKE Anda, dan ganti[YOUR-CONTAINER-NAME]
dengan nama container yang Anda buat untuk aplikasi.Ekspos container untuk akses publik:
kubectl expose deployment [YOUR-DEPLOYMENT-NAME] --type="LoadBalancer" --port=8080
Ganti
[YOUR-DEPLOYMENT-NAME]
dengan nama yang Anda gunakan di langkah sebelumnya. Anda mungkin perlu menunggu beberapa menit sebelum IP eksternal dapat dilihat.Lihat alamat IP eksternal untuk aplikasi Anda:
kubectl get service [YOUR-DEPLOYMENT-NAME]
Ganti
[YOUR-DEPLOYMENT-NAME]
dengan nama yang Anda gunakan di langkah sebelumnya. Jika kolomEXTERNAL IP
kosong, tunggu beberapa saat, lalu panggil kembali perintahnya.Lihat aplikasi yang berjalan di GKE:
http://EXTERNAL-IP:8080
Ganti
EXTERNAL-IP
dengan alamat IP eksternal yang Anda dapatkan di langkah sebelumnya.
Anda telah berhasil men-deploy dan menjalankan aplikasi App Engine di GKE.
Langkah selanjutnya
Sebaiknya pelajari lebih lanjut Kubernetes dan perintah kubectl
.
Google Kubernetes Engine menggunakan Kubernetes untuk pengelolaan, deployment, dan penskalaan container. Informasi selengkapnya tentang Kubernetes tersedia di situs Kubernetes eksternal.
Panduan ini menggunakan kubectl
, antarmuka command line untuk mengelola cluster Kubernetes. Informasi selengkapnya tentang kubectl
tersedia di
referensi kubectl.