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 secara langsung dan continuous delivery terintegrasi akan lebih optimal jika menggunakan 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 penampung.
  3. Instal plugin Cloud Code jika Anda belum melakukannya.

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

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  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. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

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

  5. Aktifkan Google Kubernetes Engine API.

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

    Mengaktifkan 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. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

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

  9. Aktifkan Google Kubernetes Engine API.

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

    Mengaktifkan API

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 bekerja 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 Anda 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 mau, Anda dapat memilih opsi Saat file disimpan.

  3. Pilih target run Develop on Kubernetes dari pemilih konfigurasi Run/Debug di panel Navigasi.

    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 melakukan proses 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 berongga dengan garis merah menunjukkan titik henti sementara yang 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 Develop on Kubernetes konfigurasi run.

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.

    Mengalirkan 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