Doplněk sítě služeb založený na Istiu pro Azure Kubernetes Service

Istio řeší výzvy, kterým vývojáři a operátoři čelí s architekturou distribuovaných nebo mikroslužeb. Doplněk Istio service mesh poskytuje oficiálně podporovanou a otestovanou integraci pro Službu Azure Kubernetes Service (AKS).

Co je služba Mesh?

Moderní aplikace jsou obvykle navrženy jako distribuované kolekce mikroslužeb, přičemž každá kolekce mikroslužeb provádí určitou diskrétní obchodní funkci. Síť služeb je vyhrazená vrstva infrastruktury, kterou můžete přidat do svých aplikací. Umožňuje transparentně přidávat funkce, jako je pozorovatelnost, správa provozu a zabezpečení, aniž byste je museli přidávat do vlastního kódu. Síť služeb termínů popisuje typ softwaru, který používáte k implementaci tohoto vzoru, i síťovou doménu, která se vytvoří při použití tohoto softwaru.

Vzhledem k tomu, že nasazení distribuovaných služeb, jako je například v systému založeném na Kubernetes, roste velikost a složitost, může být obtížnější porozumět a spravovat. Možná budete muset implementovat funkce, jako je zjišťování, vyrovnávání zatížení, obnovení selhání, metriky a monitorování. Síť služeb může také řešit složitější provozní požadavky, jako je testování A/B, kanárské nasazení, omezování rychlosti, řízení přístupu, šifrování a kompletní ověřování.

Komunikace mezi službami je to, co umožňuje distribuovanou aplikaci. Směrování této komunikace v rámci clusterů aplikací i mezi aplikacemi se s rostoucím počtem služeb stává stále složitější. Istio pomáhá tuto složitost snížit a zároveň zjednodušit vývojový tým.

Co je Istio?

Istio je opensourcová síť služeb, která transparentně vrství do existujících distribuovaných aplikací. Výkonné funkce Istio poskytují jednotný a efektivnější způsob zabezpečení, připojení a monitorování služeb. Istio umožňuje vyrovnávání zatížení, ověřování mezi službami a monitorování – s několika nebo žádnými změnami kódu služby. Jeho výkonná řídicí rovina přináší důležité funkce, včetně:

  • Zabezpečená komunikace mezi službami v clusteru pomocí šifrování TLS, silného ověřování na základě identit a autorizace.
  • Automatické vyrovnávání zatížení pro provoz HTTP, gRPC, WebSocket a TCP.
  • Jemně odstupňované řízení chování provozu pomocí bohatých pravidel směrování, opakování, převzetí služeb při selhání a injektáže chyb.
  • Připojitelná vrstva zásad a konfigurační rozhraní API podporující řízení přístupu, omezení rychlosti a kvóty
  • Automatické metriky, protokoly a trasování pro veškerý provoz v clusteru, včetně příchozího a výchozího přenosu clusteru.

Jak se doplněk liší od open source Istio?

Tento doplněk service mesh používá a staví na opensourcové istio. Příchuť doplňku poskytuje následující dodatečné výhody:

  • Verze Istio se testují a ověřují, aby byly kompatibilní s podporovanými verzemi služby Azure Kubernetes Service.
  • Microsoft zpracovává škálování a konfiguraci řídicí roviny Istio.
  • Microsoft upravuje škálování komponent AKS, jako coredns když je povolená istio.
  • Microsoft poskytuje spravovaný životní cyklus (upgrady) pro komponenty Istio při aktivaci uživatelem.
  • Ověřená nastavení externího a interního příchozího přenosu dat
  • Ověřili jsme, že pracujete se spravovanou službou Azure Monitor pro Prometheus a Azure Managed Grafana.
  • Oficiální podpora Azure pro doplněk.

Omezení

Doplněk sítě služeb založený na Istiu pro AKS má následující omezení:

  • Doplněk nefunguje v clusterech AKS, které používají doplněk Open Service Mesh pro AKS.
  • Doplněk nefunguje v clusterech AKS, na kterých je už nainstalováno Istio mimo instalaci doplňku.
  • Doplněk nepodporuje přidávání podů přidružených k virtuálním uzlům, které se mají přidat do sítě.
  • Istio nepodporuje kontejnery Windows Serveru.
  • Vlastní nastavení sítě založené na následujících vlastních prostředcích je prozatím blokované – EnvoyFilter, ProxyConfig, WorkloadEntry, WorkloadGroup, Telemetry, IstioOperator, WasmPlugin
  • Rozhraní API brány pro příchozí přenos dat Istio nebo správa síťového provozu (GAMMA) se v současné době u doplňku Istio nepodporuje.

Další kroky