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 (Transport Layer Security), 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 na clusterech AKS s instalacemi Istio, které spravuje svépomocí.
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ě.
Doplněk zatím nepodporuje odchozí brány pro řízení odchozího provozu.
Doplněk zatím nepodporuje režim okolí bez sajdkáru. Microsoft v současné době přispívá do ambientní pracovnístream v rámci open source Istio. Integrace produktů pro režim Ambient je na roadmapě a průběžně se vyhodnocuje, jak se vyvíjí pracovní proud Ambient.
Doplněk zatím nepodporuje nasazení s více clustery.
Doplněk zatím nepodporuje kontejnery Windows Serveru. Kontejnery Windows Serveru zatím nejsou v opensourcové istio podporované. Problém se sledováním této funkce najdete tady.
Přizpůsobení sítě prostřednictvím následujících vlastních prostředků je aktuálně blokováno -
ProxyConfig, WorkloadEntry, WorkloadGroup, IstioOperator, WasmPlugin
.Doplněk umožňuje použití následujících
EnvoyFilter
typů filtrů s blokovanými dalšími typy filtrů:- Lua (
type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua
). - Kompresor (
type.googleapis.com/envoy.extensions.filters.http.compressor.v3.Compressor
) - Limit místní rychlosti (
type.googleapis.com/envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit
)
Poznámka:
I když jsou tyto
EnvoyFilter
možnosti povolené, všechny problémy vyplývající z nich (například ze sciptu Lua nebo z knihovny komprese) jsou mimo rozsah podpory doplňku Istio. Další informace o kategoriích podpory pro funkce doplňku Istio a možnosti konfigurace najdete v dokumentu zásad podpory.- Lua (
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. Rozhraní API brány pro příchozí přenosy dat Istio je v současné době aktivní vývoj doplňku. I když doplněk podporuje přizpůsobení poznámek pro brány příchozího přenosu dat Istio pro IP adresy a značky služeb, konfigurace portu nebo protokolu se v současné době nepodporuje.
Váš názor a dotaz na funkce
Zpětnou vazbu a funkci můžete požádat o doplněk Istio vytvořením problémů s popiskem service-mesh v úložišti AKS Na GitHubu.
Další kroky
Azure Kubernetes Service