Pelajari GKE Enterprise


Jelajahi edisi Google Kubernetes Engine (GKE) Enterprise dengan men-deploy aplikasi contoh menggunakan Terraform. Platform ini men-deploy lingkungan interaktif nyata dengan cluster GKE, Anthos Service Mesh, dan aplikasi dengan beberapa microservice. Tutorial ini memperkenalkan Anda pada fitur-fitur ini, yang memungkinkan Anda mempelajari GKE Enterprise yang di-deploy di Google Cloud dengan bank fiktif. Selanjutnya, Anda dapat mempelajari fitur-fitur GKE Enterprise yang menarik bagi Anda dengan mengikuti kisah GKE Enterprise bank lebih lanjut dalam tutorial tindak lanjut kami.

Jika Anda ingin mempelajari lebih lanjut fitur GKE Enterprise yang mendukung GKE Enterprise, lihat ringkasan teknis kami. Namun, Anda tidak perlu memahami GKE Enterprise atau Terraform untuk mengikuti tutorial ini. Anda harus memahami konsep dasar Kubernetes seperti cluster. Jika belum, baca Dasar-dasar Kubernetes, dokumentasi Google Kubernetes Engine (GKE), dan Menyiapkan aplikasi untuk Anthos Service Mesh.

Jika Anda sudah siap untuk melakukan penginstalan produksi yang sebenarnya, lihat bagian Penyiapan.

Perjalanan Anda

Anda adalah pemimpin platform di Bank of Anthos. Bank of Anthos dimulai sebagai bisnis kecil untuk pemrosesan pembayaran di dua server hampir sepuluh tahun lalu. Sejak saat itu, bank ini telah berkembang menjadi bank komersial yang sukses dengan ribuan karyawan dan organisasi teknik yang berkembang. Bank of Anthos kini ingin memperluas bisnisnya lebih lanjut.

Selama periode ini, Anda dan tim mendapati diri Anda menghabiskan lebih banyak waktu dan uang untuk memelihara infrastruktur daripada menciptakan nilai bisnis baru. Anda memiliki pengalaman kumulatif selama puluhan tahun yang telah diinvestasikan dalam stack yang ada; tetapi, Anda tahu bahwa ini bukan teknologi yang tepat untuk memenuhi skala deployment global yang dibutuhkan bank seiring perkembangannya.

Anda telah mengadopsi GKE Enterprise untuk memodernisasi aplikasi dan berhasil bermigrasi ke Google Cloud untuk mencapai sasaran ekspansi Anda.

Tujuan

Dalam tutorial ini, Anda diperkenalkan dengan beberapa fitur utama GKE Enterprise melalui tugas-tugas berikut:

  • Deploy lingkungan GKE Enterprise Anda dengan cluster, aplikasi, dan fitur perusahaan: Anthos Service Mesh, Config Sync, dan Pengontrol Kebijakan.

  • Gunakan konsol Google Cloud untuk mempelajari resource GKE yang digunakan oleh aplikasi Anda.

  • Menggunakan Anthos Service Mesh untuk mengamati layanan aplikasi.

Apa yang telah di-deploy?

Dengan men-deploy Bank of Anthos di Google Cloud, project Anda akan memiliki hal-hal berikut:

  • Cluster GKE yang berjalan di Google Cloud: anthos-sample-cluster1.

  • Anthos Service Mesh yang diinstal di cluster. Anda menggunakan Anthos Service Mesh untuk mengelola mesh layanan pada anthos-sample-cluster1.

  • Sinkronisasi Konfigurasi dan Pengontrol Kebijakan untuk mengelola kebijakan konfigurasi dan keamanan di anthos-sample-cluster1.

  • Aplikasi Bank of Anthos yang berjalan di cluster. Ini adalah aplikasi perbankan berbasis web yang menggunakan sejumlah microservice yang ditulis dalam berbagai bahasa pemrograman, termasuk Java, Python, dan JavaScript.

Biaya

Men-deploy aplikasi Bank of Anthos akan dikenai biaya bayar sesuai penggunaan untuk GKE Enterprise di Google Cloud seperti yang tercantum di halaman Harga kami, kecuali jika Anda telah membeli langganan.

Anda juga bertanggung jawab atas biaya Google Cloud lainnya yang timbul saat menjalankan aplikasi Bank of Anthos, seperti tagihan untuk VM Compute Engine dan load balancer.

Sebaiknya bersihkan setelah menyelesaikan tutorial atau menjelajahi deployment agar tidak dikenai biaya lebih lanjut.

Sebelum memulai

Pastikan untuk menyelesaikan prasyarat berikut.

Pilih atau buat project

Anda dapat menggunakan project yang sudah ada, atau membuat yang baru untuk tutorial ini.

  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. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  4. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  5. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

Mengaktifkan Cloud Shell

Cloud Shell adalah lingkungan shell interaktif untuk Google Cloud yang dapat Anda gunakan untuk mengelola project dan resource dari browser web.

Di konsol Google Cloud, aktifkan Cloud Shell.

Aktifkan Cloud Shell

Memberikan peran IAM

Jika Anda menggunakan project yang sudah ada, pastikan akun Google Cloud Anda memiliki peran IAM yang diperlukan untuk tutorial ini.

Berikan peran ke Akun Google Anda. Jalankan perintah berikut satu kali untuk setiap peran IAM berikut: roles/resourcemanager.projectIamAdmin, roles/iam.serviceAccountAdmin, roles/iam.serviceAccountUser, roles/iam.securityAdmin, roles/serviceusage.serviceUsageAdmin, roles/container.admin, roles/logging.logWriter, roles/gkehub.admin, roles/viewer, roles/monitoring.viewer

$ gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
  • Ganti PROJECT_ID dengan project ID Anda.
  • Ganti EMAIL_ADDRESS dengan alamat email Anda.
  • Ganti ROLE dengan setiap peran individual.

Men-deploy Bank of Anthos menggunakan Terraform

Setelah semua prasyarat terpenuhi, jalankan perintah berikut di Cloud Shell untuk men-deploy Bank of Anthos:

  1. Pastikan project default Anda ditetapkan ke project ID tempat Anda ingin men-deploy aplikasi. Jika belum ditetapkan, jalankan perintah berikut di Cloud Shell:

    gcloud config set project PROJECT_ID
    

    Ganti PROJECT_ID dengan ID project Google Cloud Anda.

  2. Clone repositori GitHub Bank of Anthos ke Cloud Shell Anda:

    git clone https://github.com/GoogleCloudPlatform/bank-of-anthos.git
    
  3. Tetapkan variabel lingkungan TF_VAR_project ke project ID Anda:

    export TF_VAR_project=PROJECT_ID
    

    Ganti PROJECT_ID dengan ID project Google Cloud Anda.

  4. Ubah ke direktori yang menghosting skrip penginstalan:

    cd bank-of-anthos/iac/tf-anthos-gke
    
  5. Lakukan inisialisasi Terraform. Untuk menggunakan penyedia Google versi terbaru, sertakan flag -upgrade:

    terraform init -upgrade
    
  6. (Opsional) Tinjau materi yang akan dibuat:

    terraform plan
    
  7. Terapkan konfigurasi Terraform untuk membuat resource yang diperlukan dan men-deploy Bank of Anthos:

    terraform apply
    

Jika perintah sebelumnya berhasil diselesaikan, aplikasi Bank of Anthos dan resource yang dijalankannya akan di-deploy di project Anda. Jika Anda mengalami error deployment, lihat Memecahkan masalah.

Menggunakan Ringkasan GKE Enterprise

Kemampuan GKE Enterprise dibangun berdasarkan ide fleet: pengelompokan logis cluster Kubernetes yang dapat dikelola bersama. Ringkasan GKE Enterprise di Google Cloud Console menyediakan tampilan tingkat tinggi dari seluruh fleet Anda.

Buka Ringkasan GKE Enterprise

Ringkasan menampilkan informasi berikut:

  • Jumlah cluster yang ada di armada Anda, dan apakah cluster tersebut sehat. Dalam contoh ini (asalkan Anda tidak memiliki cluster anggota fleet lain), bagian Clusters in fleet this akan memberi tahu bahwa Anda memiliki satu cluster GKE.
  • Pemanfaatan resource fleet Anda, termasuk penggunaan CPU, memori, dan disk, yang digabungkan berdasarkan fleet dan cluster.
  • Setiap masalah keamanan yang teridentifikasi untuk perangkat Anda, cakupan Pengontrol Kebijakan di seluruh fleet, dan status sinkronisasi paket Config Sync Anda.

Jelajahi resource GKE

Halaman Clusters GKE akan menampilkan semua cluster dalam project Anda. Armada cluster yang terdaftar ke suatu fleet tercantum di kolom Armada.

Di bagian ini, Anda akan mempelajari lebih lanjut resource GKE Bank of Anthos.

Cluster

  1. Di konsol Google Kubernetes Engine, buka halaman Clusters.

    Buka halaman Clusters

  2. Klik cluster anthos-sample-cluster1 yang baru di-deploy. Pada halaman detail cluster yang terbuka, Anda dapat melihat detail cluster dasar beserta jaringan dan konfigurasi keamanan cluster tersebut. Anda juga dapat melihat fitur GKE mana yang diaktifkan dalam cluster ini di bagian Fitur.

  3. Klik tab Nodes untuk melihat semua mesin pekerja di cluster Anda. Anda dapat melihat perincian lebih lanjut untuk melihat Pods beban kerja yang berjalan di setiap node, serta ringkasan resource node (CPU, memori, penyimpanan).

Anda dapat mengetahui lebih lanjut cluster dan node GKE di dokumentasi GKE.

Beban kerja

Konsol GKE memiliki tampilan Workloads yang menunjukkan tampilan gabungan workload yang berjalan di semua cluster GKE Anda.

Di konsol Google Kubernetes Engine, buka halaman Workloads.

Buka halaman Workloads

Tab Overview menampilkan daftar beban kerja dan namespace dari cluster GKE. Anda dapat memfilter berdasarkan namespace untuk melihat beban kerja apa yang berjalan di setiap namespace.

Layanan & Ingress

Tampilan Services & Ingress menunjukkan resource Service dan Ingress project. Service mengekspos kumpulan Pod sebagai layanan jaringan dengan endpoint, sedangkan Ingress mengelola akses eksternal ke layanan dalam cluster. Namun, dibandingkan Kubernetes Ingress biasa, Bank of Anthos menggunakan layanan Istio ingress gateway untuk traffic ke bank, yang dapat digunakan pengguna Anthos Service Mesh untuk menambahkan perutean traffic yang lebih kompleks ke traffic masuk mesh mereka. Anda dapat melihat cara kerjanya saat menggunakan fitur kemampuan observasi mesh layanan nanti dalam tutorial ini.

  1. Di konsol Google Kubernetes Engine, buka halaman Services & Ingress.

    Buka halaman Services & Ingress

  2. Untuk menemukan ingress gateway Bank of Anthos, scroll ke bawah daftar layanan yang tersedia dan temukan layanan dengan nama frontend. Gateway masuk mengelola traffic masuk untuk mesh layanan aplikasi Anda, sehingga dalam hal ini kita dapat menggunakan detailnya untuk mengunjungi frontend web bank.

  3. Klik endpoint alamat IP untuk layanan frontend. Link ini akan membuka antarmuka web Bank of GKE Enterprise.

Mengamati layanan

Di GKE Enterprise, pengelolaan layanan dan kemampuan observasi disediakan oleh Anthos Service Mesh, sebuah rangkaian alat yang didukung oleh Istio yang membantu Anda memantau dan mengelola mesh layanan yang andal. Untuk mengetahui selengkapnya tentang Anthos Service Mesh dan caranya membantu Anda mengelola microservice, lihat dokumentasi Anthos Service Mesh. Jika Anda belum terbiasa menggunakan microservice dengan container dan kegunaannya untuk Anda, baca artikel Menyiapkan aplikasi untuk Anthos Service Mesh.

Dalam contoh ini, cluster di deployment contoh memiliki aplikasi contoh Bank of Anthos berbasis microservice yang berjalan di dalamnya. Aplikasi ini juga menyertakan utilitas loadgenerator yang menyimulasikan sejumlah kecil beban ke cluster sehingga Anda dapat melihat metrik dan traffic di dasbor.

Di bagian ini, Anda akan menggunakan halaman Service Mesh GKE untuk melihat layanan dan traffic aplikasi ini.

Di konsol Google Kubernetes Engine, buka halaman Service Mesh.

Buka halaman Service Mesh

Halaman ini menampilkan tampilan List dan tampilan Topology secara berdampingan, yang menunjukkan semua microservice project Anda, termasuk layanan sistem. Mungkin perlu waktu beberapa saat untuk mengisi data di halaman Service Mesh. Jika Anda melihat diagram sebagian atau tidak ada sama sekali pada tampilan topologi, coba mulai ulang Pod di cluster, atau Anda dapat melanjutkan ke bagian berikutnya dan memeriksanya kembali nanti.

Menggunakan tampilan daftar

Setiap baris dalam daftar adalah salah satu layanan yang membentuk aplikasi Bank of Anthos. Misalnya, layanan frontend merender antarmuka pengguna web aplikasi, dan layanan userservice mengelola autentikasi serta akun pengguna.

Setiap listingan layanan menampilkan metrik terbaru, seperti Tingkat error server dan Permintaan per detik, untuk layanan tersebut. Metrik ini dikumpulkan siap pakai untuk layanan yang di-deploy di GKE Enterprise. Anda tidak perlu menulis kode aplikasi untuk melihat statistik ini.

Anda dapat melihat perincian dari tampilan ini untuk melihat detail selengkapnya tentang setiap layanan. Misalnya, untuk mempelajari layanan transactionhistory lebih lanjut:

  1. Klik transactionhistory di daftar layanan. Halaman detail layanan menampilkan semua telemetri yang tersedia untuk layanan ini.

  2. Di halaman transactionhistory, pilih Layanan Terhubung dari menu di sebelah kiri. Di sini, Anda dapat melihat koneksi Masuk dan Keluar untuk layanan. Ikon gembok tidak terkunci menunjukkan bahwa beberapa traffic telah diamati di port ini yang tidak dienkripsi menggunakan TLS bersama (mTLS). Anda dapat mengetahui cara kerjanya lebih lanjut dalam tutorial Secure GKE Enterprise.

    Screenshot tampilan Anthos Service Mesh Connected Services

Menggunakan tampilan topologi

Tampilan topologi memungkinkan Anda berfokus pada cara layanan berinteraksi. Seperti yang dapat Anda lihat dari legenda, grafik menunjukkan layanan Anthos Service Mesh, layanan Istio, Deployment, dan Pod aplikasi. Jika ingin meluaskan tampilan ini, klik Toggle panel "Left Panel" pada List View.

Screenshot tampilan topologi Anthos Service Mesh

Anthos Service Mesh secara otomatis mengamati layanan mana yang berkomunikasi satu sama lain untuk menampilkan detail koneksi layanan-ke-layanan:

  • Tahan kursor mouse ke item untuk melihat detail tambahan, termasuk QPS keluar dari setiap layanan.

  • Seret node dengan mouse untuk meningkatkan tampilan bagian tertentu dari grafik.

  • Klik node layanan untuk mengetahui informasi layanan selengkapnya.

  • Klik Expand saat Anda menahan pointer di atas node workload untuk melihat perincian detail selengkapnya, termasuk jumlah instance beban kerja yang saat ini berjalan.

Menjelajahi GKE Enterprise lebih lanjut

Meskipun tutorial ini telah menunjukkan banyak fitur GKE Enterprise kepada Anda, masih banyak lagi yang dapat dilihat dan dilakukan terkait deployment kami. Buka tutorial lanjutan kami untuk mencoba beberapa tugas langsung dengan GKE Enterprise, atau lanjutkan mempelajari sendiri sampel sebelum melakukan pembersihan.

Memecahkan masalah

Lihat skenario pemecahan masalah berikut jika Anda mengalami masalah saat men-deploy aplikasi Bank of Anthos.

Google Cloud API tidak diaktifkan (kode 403)

Anda mungkin melihat error yang mirip dengan yang berikut ini:

Error: Error creating Feature: failed to create a diff: failed to retrieve Feature resource: googleapi:
Error 403: GKE Hub API has not been used in project {project-number} before or it is disabled.
Enable it by visiting https://console.developers.google.com/apis/api/gkehub.googleapis.com/overview?project={project-number} then retry.
If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.

Seperti yang ditunjukkan error, tunggu beberapa menit sampai API aktif sepenuhnya, lalu jalankan deployment lagi menggunakan terraform apply.

Halaman Service Mesh tidak menampilkan semua layanan

Setelah men-deploy aplikasi Bank of Anthos, Anda mungkin perlu menunggu beberapa menit sampai halaman Service Mesh menampilkan microservice project Anda. Jika halaman Service Mesh tidak menampilkan beberapa atau semua layanan bahkan setelah beberapa menit, ini berarti beberapa proxy untuk Anthos Service Mesh mungkin gagal dimulai secara otomatis bersama beban kerja aplikasi.

Untuk memperbaiki masalah ini, mulai ulang Pod di cluster anthos-sample-cluster1:

  • Dapatkan kredensial untuk cluster:

    gcloud container clusters get-credentials anthos-sample-cluster1 --zone us-central1
    
  • Hapus Pod:

    kubectl delete pod -n default --all
    
  • Pastikan Pod telah dimulai ulang:

    kubectl get pod -n default
    

Halaman Service Mesh akan diisi dengan microservice project Anda dalam beberapa menit.

Pembersihan

Setelah selesai menjelajahi aplikasi Bank of Anthos, Anda dapat membersihkan resource yang Anda buat di Google Cloud sehingga tidak menghabiskan kuota dan Anda tidak akan ditagih di masa mendatang.

  • Opsi 1. Anda dapat menghapus project. Namun, jika ingin mempertahankan project, Anda dapat menggunakan Opsi 2 untuk menghapus deployment.

  • Opsi 2. Jika ingin mempertahankan project saat ini, Anda dapat menggunakan terraform destroy untuk menghapus aplikasi contoh dan cluster.

Menghapus project (opsi 1)

Cara termudah untuk menghindari penagihan adalah dengan menghapus project yang Anda buat untuk tutorial ini.

    Menghapus project Google Cloud:

    gcloud projects delete PROJECT_ID

Menghapus deployment (opsi 2)

Pendekatan ini menghapus aplikasi dan cluster Bank of Anthos, tetapi tidak menghapus project. Jalankan perintah berikut di Cloud Shell Anda:

  1. Ubah ke direktori yang menghosting skrip penginstalan:

    cd bank-of-anthos/iac/tf-anthos-gke
    
  2. Hapus sampel dan cluster:

    terraform destroy
    
  3. Masukkan project ID saat diminta.

Jika Anda berencana men-deploy ulang, pastikan semua persyaratan terpenuhi seperti yang dijelaskan di bagian Sebelum memulai.

Langkah selanjutnya