Mengelola dan menskalakan jaringan untuk aplikasi Windows yang berjalan di Kubernetes terkelola

Arsitektur referensi ini memberikan solusi yang sangat tersedia dan skalabel yang menggunakan Cloud Service Mesh dan Envoy gateway guna mengelola traffic jaringan untuk aplikasi Windows yang berjalan di Google Kubernetes Engine (GKE). Dokumen ini menjelaskan cara mengelola traffic jaringan tersebut menggunakan layanan yang dapat merutekan traffic ke Pod dan ke proxy yang mematuhi xDS open source. Menggunakan arsitektur seperti ini dapat membantu mengurangi biaya dan meningkatkan pengelolaan jaringan.

Dokumen ini ditujukan untuk arsitek cloud, administrator jaringan, dan profesional IT yang bertanggung jawab untuk mendesain dan mengelola aplikasi Windows yang berjalan di GKE.

Arsitektur

Diagram berikut menunjukkan arsitektur pengelolaan jaringan untuk aplikasi Windows yang berjalan di GKE menggunakan gateway Cloud Service Mesh dan Envoy:

Data mengalir melalui Load Balancer Aplikasi internal dan gateway Envoy.

Arsitektur ini mencakup komponen berikut:

  • Cluster GKE regional dengan kumpulan node Windows dan Linux.
  • Dua aplikasi Windows yang berjalan di dua Pod GKE terpisah.
  • Cloud Service Mesh membuat dan mengelola rute traffic ke NEG untuk setiap Pod GKE. Setiap rute dipetakan ke scope tertentu. scope tersebut secara unik mengidentifikasi gateway masuk Cloud Service Mesh.
  • Rute HTTP yang dipetakan ke layanan backend untuk Cloud Service Mesh.
  • Pod container Envoy yang berfungsi sebagai Gateway Envoy ke cluster GKE.
  • Gateway Envoy yang berjalan pada node Linux. Gateway dikonfigurasi untuk mengarahkan traffic ke aplikasi Windows melalui layanan yang sesuai dengan aplikasi tersebut. Envoy dikonfigurasi untuk menggunakan parameter scope guna memuat detail konfigurasi layanan Cloud Service Mesh yang relevan.
  • Load Balancer Aplikasi internal yang menghentikan traffic SSL dan mengarahkan semua traffic masuk eksternal ke gateway Envoy.

Produk yang digunakan

Arsitektur referensi ini menggunakan produk Google Cloud dan produk pihak ketiga berikut:

Google Cloud produk

  • Cloud Load Balancing: Portofolio load balancer global dan regional yang skalabel, berperforma tinggi, dan andal.
  • Google Kubernetes Engine (GKE): Layanan Kubernetes yang dapat Anda gunakan untuk men-deploy dan mengoperasikan aplikasi dalam container dalam skala besar menggunakan infrastruktur Google.
  • Cloud Service Mesh: Serangkaian alat yang membantu Anda memantau dan mengelola mesh layanan yang andal di infrastruktur lokal atau di Google Cloud.

Produk pihak ketiga

  • Envoy Gateway: Mengelola proxy Envoy sebagai gateway aplikasi mandiri atau berbasis Kubernetes.
  • Gateway API: Project Kubernetes resmi yang berfokus pada perutean L4 dan L7 di Kubernetes.

Kasus penggunaan

Kasus penggunaan utama arsitektur referensi ini adalah mengelola traffic jaringan untuk aplikasi Windows yang berjalan di GKE. Arsitektur ini memberikan manfaat berikut:

Pengelolaan jaringan yang disederhanakan: Gateway Cloud Service Mesh dan Envoy memberikan pengelolaan jaringan yang disederhanakan melalui bidang kontrol terpusat yang mengelola traffic jaringan ke aplikasi. Aplikasi ini dapat berupa aplikasi Linux atau Windows yang berjalan di GKE atau Compute Engine. Penggunaan skema pengelolaan jaringan yang disederhanakan ini mengurangi kebutuhan konfigurasi manual.

Skalabilitas dan ketersediaan yang ditingkatkan: Untuk memenuhi permintaan Anda yang terus berubah, gunakan gateway Cloud Service Mesh dan Envoy untuk menskalakan aplikasi Linux dan Windows Anda. Anda juga dapat menggunakan gateway Envoy untuk menyediakan ketersediaan tinggi bagi aplikasi Anda dengan melakukan load balancing traffic di beberapa Pod.

Keamanan yang ditingkatkan: Gunakan gateway Envoy untuk menambahkan fitur keamanan ke aplikasi Linux dan Windows Anda, seperti penghentian, autentikasi, dan pembatasan kapasitas SSL.

Pengurangan biaya: Gateway Cloud Service Mesh dan Envoy dapat membantu mengurangi biaya pengelolaan traffic jaringan untuk aplikasi Linux dan Windows.

Pertimbangan desain

Bagian ini memberikan panduan untuk membantu Anda mengembangkan arsitektur yang memenuhi persyaratan khusus Anda untuk keamanan, keandalan, biaya, dan efisiensi.

Keamanan

  • Jaringan aman: Arsitektur ini menggunakan Load Balancer Aplikasi internal untuk mengenkripsi traffic yang masuk ke container Windows. Enkripsi dalam pengiriman membantu mencegah kebocoran data.
  • Container Windows: Container Windows membantu menyediakan lingkungan yang aman dan terisolasi untuk aplikasi dalam container.

Keandalan

  • Load balancing: Arsitektur ini menggunakan beberapa lapisan Cloud Load Balancing untuk mendistribusikan traffic di seluruh gateway Envoy dan container Windows.
  • Fault tolerance: Arsitektur ini fault-tolerant dan tidak memiliki titik tunggal kegagalan. Desain ini membantu memastikan bahwa komponen selalu tersedia, meskipun satu atau beberapa komponen gagal.
  • Penskalaan otomatis: Arsitektur ini menggunakan penskalaan otomatis untuk otomatis menskalakan jumlah gateway Envoy dan container Windows berdasarkan beban. Penskalaan otomatis membantu memastikan bahwa gateway dan aplikasi dapat menangani lonjakan traffic tanpa mengalami masalah performa.
  • Monitoring: Arsitektur ini menggunakan Google Cloud Managed Service for Prometheus dan Cloud Operations untuk memantau kondisi gateway Envoy dan container Windows. Monitoring membantu Anda mengidentifikasi masalah secara dini dan berpotensi mencegahnya mengganggu aplikasi Anda.

Pengoptimalan biaya

  • Memilih jenis instance yang tepat untuk workload Anda: Pertimbangkan faktor-faktor berikut saat memilih jenis instance:
    • Jumlah vCPU dan memori yang diperlukan aplikasi Anda
    • Beban traffic yang diharapkan untuk aplikasi Anda
    • Kebutuhan pengguna untuk memiliki aplikasi dengan ketersediaan tinggi
  • Menggunakan penskalaan otomatis: Penskalaan otomatis dapat membantu Anda menghemat uang dengan menskalakan workload Windows secara otomatis dan horizontal.

    • Penskalaan vertikal menyesuaikan permintaan dan batas container sesuai dengan penggunaan pelanggan.

    • Penskalaan horizontal menambahkan atau menghapus Pod Kubernetes untuk memenuhi permintaan.

  • Menggunakan gateway Cloud Service Mesh dan Envoy: Gateway Cloud Service Mesh dan Envoy dapat membantu Anda menghemat biaya dengan merutekan traffic ke aplikasi Windows Anda secara efisien. Menggunakan perutean yang lebih efisien dapat membantu mengurangi jumlah bandwidth yang harus Anda beli. Hal ini juga dapat membantu meningkatkan performa aplikasi tersebut.

  • Menggunakan jaringan Virtual Private Cloud (VPC) bersama: Jaringan Virtual Private Cloud bersama memungkinkan Anda membagikan satu VPC ke beberapa project. Berbagi dapat membantu menghemat uang dengan mengurangi jumlah VPC yang perlu Anda buat dan kelola.

Efisiensi operasional

  • Beberapa domain dengan satu load balancer internal: Arsitektur ini menggunakan Load Balancer Aplikasi internal untuk mengalihkan traffic SSL. Setiap proxy target HTTPS dapat mendukung beberapa sertifikat SSL (hingga jumlah maksimum yang didukung) untuk mengelola beberapa aplikasi dengan domain yang berbeda.
  • Infrastructure as Code (IaC): Untuk mengelola infrastruktur, arsitektur dapat di-deploy menggunakan IaC. IaC membantu memastikan infrastruktur Anda konsisten dan dapat diulang.

Deployment

Untuk men-deploy arsitektur ini, lihat Men-deploy aplikasi Windows yang berjalan di Kubernetes terkelola.

Langkah berikutnya

Kontributor

Penulis: Eitan Eibschutz | Konsultan Solusi Teknis

Kontributor lainnya: