Menjalankan aplikasi App Engine di GKE

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:

  1. Pastikan aplikasi Anda berhasil di-deploy dan berjalan di lingkungan fleksibel App Engine.

  2. 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.

  3. Enable the GKE, Cloud Build APIs.

    Enable the APIs

  4. 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.

  5. Instal alat command line kubectl:

    gcloud components install kubectl
    
  6. Download dan instal git.

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:

  1. Pastikan Anda berada di direktori aplikasi App Engine yang berisi Dockerfile.

  2. 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.

  3. 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.

  4. 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:

  1. 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.

  2. Dari command line, tetapkan zona komputasi Anda:

    gcloud config set compute/zone us-central1-b
    
  3. Pastikan alat kubectl GKE diberi otorisasi:

    gcloud container clusters get-credentials [YOUR-CLUSTER-NAME]
    

    Ikuti petunjuk untuk memberikan otorisasi pada alat.

  4. 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.

  5. 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.

  6. 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 kolom EXTERNAL IP kosong, tunggu beberapa saat, lalu panggil kembali perintahnya.

  7. 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.