Deploy aplikasi Kubernetes dengan Cloud Code untuk IntelliJ

Pelajari cara menggunakan Cloud Code for IntelliJ untuk men-deploy aplikasi Kubernetes pertama Anda.

Dalam panduan memulai ini, Anda akan menyiapkan aplikasi Kubernetes baru menggunakan template Hello World pemula, menjalankan aplikasi di cluster, mengonfigurasi pembangunan ulang berkelanjutan untuk mengembangkan aplikasi secara iteratif, men-debug kode yang sedang berjalan, dan melihat log streaming dari aplikasi aktif.

Meskipun sebaiknya gunakan Google Cloud untuk panduan ini, Anda dapat menggunakan Cloud Code dengan cluster lokal menggunakan alat seperti minikube dan Docker Desktop. Namun, fitur seperti pembuatan cluster GKE langsung dan continuous delivery terintegrasi paling baik digunakan dengan projectGoogle Cloud .

Sebelum memulai

Baik Anda memilih untuk menggunakan cluster yang dihosting di cloud atau lokal, untuk menyelesaikan panduan memulai cepat ini, ikuti langkah-langkah berikut:

  1. Instal Git. Git diperlukan untuk menyalin contoh kode ke komputer Anda.
  2. Instal Docker. Docker diperlukan untuk membuat kode contoh. Pastikan akun pengguna lokal Anda dapat membuat container.
  3. Instal plugin Cloud Code jika Anda belum melakukannya.

Untuk menyelesaikan panduan memulai ini menggunakan Google Cloud, ikuti langkah-langkah berikut:

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika berhasil membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Google Kubernetes Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika berhasil membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Google Kubernetes Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  10. Peran yang diperlukan

    Untuk mendapatkan izin yang diperlukan guna menyelesaikan panduan memulai ini menggunakan Google Cloud, minta administrator untuk memberi Anda peran IAM Kubernetes Engine Admin (roles/container.admin) di project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

    Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Membuat aplikasi

Cloud Code dilengkapi dengan kumpulan template contoh kode untuk membantu Anda memulai. Untuk membuat aplikasi baru menggunakan contoh yang ada:

  1. Di IDE Anda, buka File > New Project, lalu pilih Cloud Code: Kubernetes.

  2. Pilih template Hello World dari daftar aplikasi starter. Daftar template yang tersedia: Aplikasi hello world dan buku tamu Python, Go, NodeJS, Java

  3. Pilih nama untuk project Anda.

    Setelah Anda mengklik Finish, Cloud Code akan meng-clone template yang Anda pilih dan membuka project yang baru dibuat untuk digunakan.

    Untuk template Java, Anda akan diminta mengimpor project Maven yang diperlukan untuk menyinkronkan pom.xml. Klik Add as Maven project, lalu klik Import Changes.

Memilih cluster

Untuk mengembangkan aplikasi, Anda memerlukan cluster Kubernetes terkait yang dihosting secara lokal dengan minikube atau menggunakan platform cloud, seperti cluster Google Kubernetes Engine.

Cluster lokal

Jika belum memiliki cluster untuk digunakan dalam panduan memulai cepat ini, Anda dapat memilih untuk menjalankan aplikasi dengan cluster minikube lokal yang dikelola Cloud Code. Cloud Code memulai cluster minikube untuk menjalankan aplikasi Anda dan menghentikan cluster saat deployment berhenti. Jika cluster minikube sudah berjalan, Cloud Code akan menggunakan kembali cluster minikube yang ada untuk deployment.

Anda dapat memilih untuk menggunakan cluster minikube yang dikelola Cloud Code ini pada langkah berikutnya, mengembangkan aplikasi, dengan menetapkannya sebagai preferensi deployment.

Cluster berbasis platform cloud

Jika Anda sudah memiliki cluster yang dikonfigurasi untuk digunakan dengan alat Kubernetes, seperti kubectl, yang dapat Anda gunakan untuk panduan memulai cepat ini, Cloud Code akan men-deploy ke cluster tersebut secara otomatis. Anda dapat melanjutkan ke mengembangkan aplikasi tempat Anda dapat mengonfirmasi bahwa cluster pilihan Anda ditetapkan sebagai konteks saat ini.

Jika tidak, Anda dapat membuatnya menggunakan petunjuk khusus platform cloud. Untuk GKE, ikuti panduan Membuat cluster.

Mengembangkan aplikasi Anda

Untuk memulai pengembangan aplikasi Anda di Kubernetes:

  1. Jika Anda menjalankan cluster yang dihosting di platform cloud, pastikan Anda telah menentukan tempat penyimpanan image container untuk Develop on Kubernetes.

    Jika Anda login ke Google Cloud di IDE dan telah menentukan project default, Cloud Code akan otomatis menggunakan repositori image container default Anda (gcr.io/{project_id} dengan {project_id} merujuk ke project default Anda).

  2. Pastikan konteks Kubernetes pilihan Anda telah ditetapkan. Hal ini dapat ditentukan dalam konfigurasi Develop on Kubernetes Anda (dapat diakses melalui Run > Edit Configurations > Develop on Kubernetes), di tab Run dan di bagian Deployment preferences.

    Anda dapat memilih untuk men-deploy ke konteks saat ini (default), secara lokal ke cluster minikube, atau ke konteks lain yang tersedia.

    Secara default, aplikasi Kubernetes Anda akan berjalan dalam mode Sesuai permintaan dengan Sesuai permintaan dipilih. Jika ingin, Anda dapat memilih opsi Saat penyimpanan file.

  3. Pilih target run Develop on Kubernetes dari pemilih konfigurasi Run/Debug di Navigation bar.

    Konfigurasi eksekusi deployment Kubernetes

    Hal ini memastikan setiap perubahan kode dibangun, di-push, dan di-deploy secara otomatis ke versi baru aplikasi Anda.

  4. Untuk memulai siklus pengembangan di cluster Kubernetes, klik tindakan jalankan untuk Develop on Kubernetes.

  5. Di jendela output, pada tab Logs, lihat log aplikasi yang masuk.

    Setelah deployment dimulai, Anda akan melihat daftar port yang diteruskan untuk aplikasi yang di-deploy.

  6. Jika deployment berhasil, Anda akan diberi tahu bahwa URL layanan baru telah tersedia. Klik tab Service URLs untuk melihat URL, lalu klik link URL untuk membuka browser dengan aplikasi yang sedang berjalan.

    Melihat layanan yang di-port forward di tab URL Layanan

    Atau, Anda dapat membuka Log Peristiwa, lalu mengklik link untuk membuka browser dengan aplikasi yang sedang berjalan.

    Panel Deployed Resources menampilkan apa yang Anda deploy selama sesi pengembangan.

Men-debug aplikasi Anda

Cloud Code mendukung penerapan perubahan saat men-debug.

Untuk men-debug aplikasi Anda:

  1. Klik tindakan debug Ikon tindakan debug untuk Develop on Kubernetes guna memulai siklus pengembangan dalam mode debug di cluster Kubernetes Anda.

    Memulai siklus pengembangan cluster Kubernetes dalam mode debug

  2. Cloud Code akan melampirkan sesi debug. Jika berhasil, jendela Alat Debug akan terbuka, yang mengonfirmasi koneksi (di tab Konsol).

    Sekarang Anda dapat men-debug terhadap cluster Kubernetes aktif.

  3. Klik gutter pada baris kode yang dapat dieksekusi tempat Anda ingin menambahkan titik henti sementara.

    Lingkaran merah yang terisi menunjukkan titik henti sementara aktif, sedangkan lingkaran kosong yang dibatasi merah menandakan titik henti sementara dinonaktifkan.

  4. Saat Anda mengirim permintaan baru ke aplikasi, aplikasi akan dijeda di baris yang diinginkan tersebut.

    Sesi debugger Kubernetes

  5. Untuk mengakhiri sesi proses debug, klik ikon berhenti pada konfigurasi eksekusi Develop on Kubernetes.

Melihat log

Selain melihat livestream log dari pod yang berjalan di output terminal saat Anda mengembangkan dan menjalankan aplikasi, Anda dapat melihat log dari pod tertentu dengan membuka Kubernetes Explorer.

Untuk melihat log dari pod tertentu, ikuti langkah-langkah berikut:

  1. Buka Kubernetes Explorer. Anda dapat mengaksesnya dari panel samping di sebelah kanan atau menggunakan Tools > Cloud Code > Kubernetes > View Cluster Explorer.

    Panel Kubernetes Explorer terbuka menggunakan tab di taskbar sisi kanan

  2. Pilih pod yang ingin Anda lihat lognya.

  3. Klik kanan pod, lalu pilih Stream Logs. Atau, Anda dapat melakukan streaming log untuk setiap container yang berjalan di pod.

    Tindakan ini akan menghasilkan log ke Konsol Kubernetes Explorer.

    Streaming log dari pod menggunakan menu klik kanannya untuk menampilkan log ke Konsol Kubernetes Explorer

Pembersihan

Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.

  1. Buka halaman Project di konsol Google Cloud :

    Buka halaman Project

  2. Pilih project yang Anda buat untuk Panduan memulai ini, lalu klik ikon tempat sampah di sampingnya untuk menghapusnya.

    Tindakan ini akan menghentikan project dan menjadwalkannya untuk dihapus.

Langkah berikutnya