Op Istio gebaseerde service mesh-invoegtoepassing voor Azure Kubernetes Service

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:

  • Beveilig service-naar-servicecommunicatie in een cluster met TLS-versleuteling, sterke verificatie en autorisatie op basis van identiteiten.
  • 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 metrische gegevens, logboeken en traceringen voor al het verkeer binnen een cluster, inclusief inkomend en uitgaand cluster.

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.
  • Gecontroleerde instellingen voor extern en intern inkomend verkeer.
  • Gecontroleerd om te werken met de beheerde Azure Monitor-service voor Prometheus en Azure Managed Grafana.
  • Officiële ondersteuning voor Azure 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 waarop Istio al buiten de installatie van de invoegtoepassing om is geïnstalleerd.
  • De invoegtoepassing biedt geen ondersteuning voor het toevoegen van pods die zijn gekoppeld aan virtuele knooppunten die onder de mesh moeten worden toegevoegd.
  • Istio biedt geen ondersteuning voor Windows Server-containers.
  • Aanpassing van mesh op basis van de volgende aangepaste resources wordt voorlopig geblokkeerd - EnvoyFilter, ProxyConfig, WorkloadEntry, WorkloadGroup, Telemetry, IstioOperator, WasmPlugin
  • Gateway-API voor istio-ingangsgateway of het beheren van mesh-verkeer (GAMMA) wordt momenteel nog niet ondersteund met de Istio-invoegtoepassing.

Volgende stappen