Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Istio heeft betrekking op de uitdagingen waarmee ontwikkelaars en operators te maken krijgen met een gedistribueerde of microservicesarchitectuur. De invoegtoepassing service mesh op basis van Istio biedt een officieel ondersteunde en geteste integratie voor Azure Kubernetes Service (AKS).
Wat is een Service Mesh?
Moderne toepassingen worden doorgaans ontworpen als gedistribueerde verzamelingen microservices, waarbij elke verzameling microservices een discrete bedrijfsfunctie uitvoert. Een service-mesh is een toegewezen infrastructuurlaag die u aan uw toepassingen kunt toevoegen. Hiermee kunt u transparant mogelijkheden toevoegen, zoals waarneembaarheid, verkeersbeheer en beveiliging, zonder deze toe te voegen aan uw eigen code. De term service mesh beschrijft zowel het type software dat u gebruikt om dit patroon te implementeren, als het beveiligings- of netwerkdomein dat wordt gemaakt wanneer u die software gebruikt.
Naarmate de implementatie van gedistribueerde services, zoals in een Kubernetes-systeem, groter en complexer wordt, kan het moeilijker worden om te begrijpen en te beheren. Mogelijk moet u mogelijkheden implementeren, zoals detectie, taakverdeling, herstel van fouten, metrische gegevens en bewaking. Een service-mesh kan ook complexere operationele vereisten aanpakken, zoals A/B-tests, canary-implementaties, snelheidsbeperking, toegangsbeheer, versleuteling en end-to-end-verificatie.
Service-naar-service-communicatie is wat een gedistribueerde toepassing mogelijk maakt. Het routeren van deze communicatie, zowel binnen als tussen toepassingsclusters, wordt steeds complexer naarmate het aantal services toeneemt. Istio helpt deze complexiteit te verminderen terwijl de belasting van ontwikkelteams wordt versoepeld.
Wat is Istio?
Istio is een opensource-service-mesh die transparant wordt gelaagd op bestaande gedistribueerde toepassingen. De krachtige functies van Istio bieden een uniforme en efficiëntere manier om services te beveiligen, te verbinden en te bewaken. Istio maakt taakverdeling, service-naar-service-verificatie en bewaking mogelijk, met weinig of geen wijzigingen in de servicecode. Het krachtige besturingsvlak biedt essentiële functies, waaronder:
- Beveiligde service-naar-service-communicatie in een cluster met TLS-versleuteling (Transport Layer Security), sterke verificatie op basis van identiteit en autorisatie.
- Automatische taakverdeling voor HTTP-, gRPC-, WebSocket- en TCP-verkeer.
- Fijnmazige controle over verkeersgedrag met uitgebreide routeringsregels, nieuwe pogingen, failovers en foutinjectie.
- Een pluggable beleidslaag en configuratie-API die toegangsbeheer, frequentielimieten en quota ondersteunt.
- Automatische metriek gegevens, logboeken en traceringen voor al het verkeer binnen een cluster, inclusief inkomend en uitgaand verkeer.
Hoe verschilt de invoegtoepassing van opensource Istio?
Deze service mesh-invoegtoepassing maakt gebruik van en bouwt voort op opensource Istio. De uitbreidingssmaak biedt de volgende extra voordelen:
- Istio-versies worden getest en geverifieerd om compatibel te zijn met ondersteunde versies van Azure Kubernetes Service.
- Microsoft verwerkt het schalen en configureren van het Istio-besturingsvlak
- Microsoft past het schalen van AKS-onderdelen aan, zoals
coredns
wanneer Istio is ingeschakeld. - Microsoft biedt beheerde levenscyclus (upgrades) voor Istio-onderdelen wanneer deze worden geactiveerd door de gebruiker.
- Bevestigde opstelling voor extern en intern inkomend verkeer.
- Werkt samen met de Azure Monitor beheerde service voor Prometheus en Azure Managed Grafana.
- Officiële Azure-ondersteuning wordt verstrekt voor de invoegtoepassing.
Beperkingen
De op Istio gebaseerde service mesh-invoegtoepassing voor AKS heeft de volgende beperkingen:
De invoegtoepassing werkt niet op AKS-clusters die gebruikmaken van de Open Service Mesh-invoegtoepassing voor AKS.
De invoegtoepassing werkt niet op AKS-clusters met zelfbeheerde installaties van Istio.
De invoegtoepassing biedt geen ondersteuning voor het toevoegen van pods die zijn gekoppeld aan virtuele knooppunten die onder de mesh moeten worden toegevoegd.
De add-on biedt nog geen ondersteuning voor de omgevingsmodus zonder sidecar. Microsoft draagt momenteel bij aan Ambient workstream onder Istio open source. Productintegratie voor omgevingsmodus staat op de roadmap en wordt continu geëvalueerd naarmate de omgevingswerkstroom zich ontwikkelt.
De invoegtoepassing biedt nog geen ondersteuning voor implementaties met meerdere clusters.
De invoegtoepassing biedt nog geen ondersteuning voor Windows Server-containers. Windows Server-containers worden momenteel nog niet ondersteund in open source Istio. Het volgen van deze functieaanvraag vindt u hier.
Aanpassing van mesh via de volgende aangepaste bronnen wordt momenteel geblokkeerd -
ProxyConfig, WorkloadEntry, WorkloadGroup, IstioOperator, WasmPlugin
.Met de invoegtoepassing kunnen de volgende
EnvoyFilter
filtertypen worden gebruikt, waarbij andere filtertypen zijn geblokkeerd:- Lua (
type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua
). - Compressor (
type.googleapis.com/envoy.extensions.filters.http.compressor.v3.Compressor
) - Lokale frequentielimiet (
type.googleapis.com/envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit
)
Notitie
Hoewel deze
EnvoyFilter
zijn toegestaan, valt elk probleem dat daaruit voortvloeit (bijvoorbeeld uit het Lua-script of de compressiebibliotheek) buiten het ondersteuningsbereik van de Istio-invoegtoepassing. Zie het ondersteuningsbeleidsdocument voor meer informatie over de ondersteuningscategorieën voor istio-invoegtoepassingsfuncties en configuratieopties.- Lua (
Gateway-API voor Istio-ingress-gateway of het beheren van mesh-verkeer (GAMMA) wordt momenteel nog niet ondersteund in de Istio-invoegtoepassing. De Gateway-API voor Istio-ingressverkeersbeheer is echter momenteel in actieve ontwikkeling voor de add-on. Ondanks dat de invoegtoepassing ondersteuning biedt voor annotatie en
externalTrafficPolicy
aanpassing voor de Istio-gateways voor inkomend verkeer, wordt de poort- of protocolconfiguratie momenteel niet ondersteund.De invoegtoepassing ondersteunt het aanpassen van een subset van de velden in MeshConfig. Andere aanpassingen kunnen worden toegestaan, maar worden niet ondersteund of geheel niet toegestaan, zoals beschreven hier.
Feedback en functievragen
Feedback en verzoeken om functies voor de Istio-invoegtoepassing kunnen worden gegeven door 'service-mesh'-gelabelde issues aan te maken in de GitHub-opslagplaats van AKS.
Volgende stappen
Azure Kubernetes Service