Bagikan melalui


Add-on mesh layanan berbasis Istio untuk Azure Kubernetes Service

Istio mengatasi tantangan yang dihadapi pengembang dan operator dengan arsitektur layanan terdistribusi atau mikro. Add-on mesh layanan berbasis Istio menyediakan integrasi yang didukung dan diuji secara resmi untuk Azure Kubernetes Service (AKS).

Apa yang dimaksud Service Mesh?

Aplikasi modern biasanya dirancang sebagai koleksi layanan mikro terdistribusi, dengan setiap koleksi layanan mikro melakukan beberapa fungsi bisnis diskrit. Jala layanan adalah lapisan infrastruktur khusus yang dapat Anda tambahkan ke aplikasi Anda. Ini memungkinkan Anda untuk secara transparan menambahkan kemampuan seperti pengamatan, manajemen lalu lintas, dan keamanan, tanpa menambahkannya ke kode Anda sendiri. Istilah jala layanan menjelaskan jenis perangkat lunak yang Anda gunakan untuk menerapkan pola ini, dan domain keamanan atau jaringan yang dibuat saat Anda menggunakan perangkat lunak tersebut.

Karena penyebaran layanan terdistribusi, seperti dalam sistem berbasis Kubernetes, tumbuh dalam ukuran dan kompleksitas, dapat menjadi lebih sulit untuk dipahami dan dikelola. Anda mungkin perlu menerapkan kemampuan seperti penemuan, penyeimbangan beban, pemulihan kegagalan, metrik, dan pemantauan. Jala layanan juga dapat mengatasi persyaratan operasional yang lebih kompleks seperti pengujian A/B, penyebaran kenari, pembatasan laju, kontrol akses, enkripsi, dan autentikasi end-to-end.

Komunikasi layanan ke layanan adalah hal yang memungkinkan aplikasi terdistribusi. Perutean komunikasi ini, baik di dalam maupun di seluruh kluster aplikasi, menjadi semakin kompleks seiring bertambahnya jumlah layanan. Istio membantu mengurangi kompleksitas ini sambil mengurangi ketegangan pada tim pengembangan.

Apa itu Istio?

Istio adalah jala layanan sumber terbuka yang berlapis secara transparan ke aplikasi terdistribusi yang ada. Fitur canggih Istio menyediakan cara yang seragam dan lebih efisien untuk mengamankan, menghubungkan, dan memantau layanan. Istio memungkinkan penyeimbangan beban, autentikasi layanan-ke-layanan, dan pemantauan – dengan sedikit atau tanpa perubahan kode layanan. Sarana kontrolnya yang kuat menghadirkan fitur-fitur penting, termasuk:

  • Mengamankan komunikasi layanan ke layanan dalam kluster dengan enkripsi TLS (Keamanan Lapisan Transportasi), autentikasi dan otorisasi berbasis identitas yang kuat.
  • Penyeimbangan beban otomatis untuk lalu lintas HTTP, gRPC, WebSocket, dan TCP.
  • Kontrol perilaku lalu lintas yang sangat baik dengan aturan perutean yang kaya, percobaan ulang, failover, dan injeksi kesalahan.
  • Lapisan kebijakan yang dapat dipasang dan API konfigurasi yang mendukung kontrol akses, batas laju, dan kuota.
  • Metrik, log, dan jejak otomatis untuk semua lalu lintas dalam kluster, termasuk ingress dan egress kluster.

Bagaimana add-on berbeda dari Istio sumber terbuka?

Add-on mesh layanan ini menggunakan dan membangun di atas Istio sumber terbuka. Rasa add-on memberikan manfaat tambahan berikut:

  • Versi Istio diuji dan diverifikasi agar kompatibel dengan versi Azure Kubernetes Service yang didukung.
  • Microsoft menangani penskalaan dan konfigurasi sarana kontrol Istio
  • Microsoft menyesuaikan penskalaan komponen AKS seperti coredns saat Istio diaktifkan.
  • Microsoft menyediakan siklus hidup terkelola (peningkatan) untuk komponen Istio saat dipicu oleh pengguna.
  • Pengaturan ingress eksternal dan internal terverifikasi.
  • Diverifikasi untuk bekerja dengan layanan terkelola Azure Monitor untuk Prometheus dan Azure Managed Grafana.
  • Dukungan Azure resmi yang disediakan untuk add-on.

Batasan

Add-on mesh layanan berbasis Istio untuk AKS memiliki batasan seperti berikut:

  • Add-on tidak berfungsi pada kluster AKS yang menggunakan Addon Mesh Layanan Terbuka untuk AKS.
  • Add-on tidak berfungsi pada kluster AKS dengan penginstalan Istio yang dikelola sendiri.
  • Add-on tidak mendukung penambahan pod yang terkait dengan simpul virtual yang akan ditambahkan di bawah jala.
  • Add-on belum mendukung gateway keluar untuk kontrol lalu lintas keluar.
  • Add-on belum mendukung mode Sekitar tanpa sespan. Microsoft saat ini berkontribusi pada aliran kerja Sekitar di bawah Istio sumber terbuka. Integrasi produk untuk mode Sekitar ada di peta jalan dan terus dievaluasi seiring berkembangnya aliran kerja Sekitar.
  • Add-on belum mendukung penyebaran multi-kluster.
  • Add-on belum mendukung kontainer Windows Server karena ini tidak tersedia di sumber terbuka Istio sekarang. Masalah saat melacak permintaan fitur ini dapat ditemukan di sini.
  • Kustomisasi jala melalui sumber daya kustom berikut diblokir untuk saat ini - ProxyConfig, WorkloadEntry, WorkloadGroup, Telemetry, IstioOperator, WasmPlugin, EnvoyFilter.
  • Untuk EnvoyFilter, add-on hanya mendukung filter jenis Lua untuk saat ini (type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua). Meskipun EnvoyFilter ini diizinkan, masalah apa pun yang timbul dari skrip Lua itu sendiri tidak didukung. Jenis lain EnvoyFilter saat ini diblokir.
  • GATEWAY API untuk gateway masuk Istio atau mengelola lalu lintas jala (GAMMA) saat ini belum didukung dengan addon Istio. Ini direncanakan untuk memungkinkan penyesuaian seperti konfigurasi alamat IP statis masuk sebagai bagian dari implementasi API Gateway untuk add-on di masa mendatang.

Umpan balik dan permintaan fitur

Umpan balik dan fitur meminta add-on Istio dapat disediakan dengan membuat masalah dengan label 'service-mesh' di repositori GitHub AKS.

Langkah berikutnya