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:

  • Komunikasi layanan ke layanan yang aman dalam kluster dengan enkripsi TLS (Keamanan Lapisan Transportasi), autentikasi berbasis identitas yang kuat, dan otorisasi.
  • 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. Kontainer Windows Server belum didukung di istio sumber terbuka sekarang. Masalah saat melacak permintaan fitur ini dapat ditemukan di sini.

  • Kustomisasi jala melalui sumber daya kustom berikut saat ini diblokir - ProxyConfig, WorkloadEntry, WorkloadGroup, IstioOperator, WasmPlugin.

  • Add-on memungkinkan penggunaan jenis filter berikut EnvoyFilter , dengan jenis filter lain yang diblokir:

    • Lua (type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua).
    • Kompresor (type.googleapis.com/envoy.extensions.filters.http.compressor.v3.Compressor)
    • Batas tarif lokal (type.googleapis.com/envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit)

    Catatan

    Meskipun ini EnvoyFilterdiizinkan, masalah apa pun yang timbul dari mereka (misalnya dari Lua scipt atau dari pustaka kompresi) berada di luar cakupan dukungan add-on Istio. Lihat dokumen kebijakan dukungan untuk informasi selengkapnya tentang kategori dukungan untuk fitur add-on Istio dan opsi konfigurasi.

  • GATEWAY API untuk gateway masuk Istio atau mengelola lalu lintas jala (GAMMA) saat ini belum didukung dengan add-on Istio. Namun, API Gateway untuk manajemen lalu lintas masuk Istio saat ini sedang dalam pengembangan aktif untuk add-on. Meskipun add-on mendukung kustomisasi anotasi untuk gateway masuk Istio untuk alamat IP dan tag layanan, konfigurasi port atau protokol saat ini tidak didukung.

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