Open Service Mesh-tillägg (OSM) i Azure Kubernetes Service (AKS)

Open Service Mesh (OSM) är ett enkelt, utökningsbart, molnbaserat tjänstnät som gör att du kan hantera, skydda och få färdiga observerbarhetsfunktioner för mycket dynamiska mikrotjänstmiljöer.

OSM kör ett Envoy-baserat kontrollplan på Kubernetes och kan konfigureras med SMI-API :er. OSM fungerar genom att mata in en Envoy-proxy som en sidovagnscontainer med varje instans av ditt program. Envoy-proxyn innehåller och kör regler kring principer för åtkomstkontroll, implementerar routningskonfiguration och samlar in mått. Kontrollplanet konfigurerar kontinuerligt Envoy-proxyservrarna för att säkerställa att principer och routningsregler är uppdaterade och att proxyservrarna är felfria.

Microsoft startade OSM-projektet, men det styrs nu av Cloud Native Computing Foundation (CNCF).

Kommentar

Med tillbakadragandet av Open Service Mesh (OSM) av Cloud Native Computing Foundation (CNCF) rekommenderar vi att du identifierar dina OSM-konfigurationer och migrerar dem till en motsvarande Istio-konfiguration. Information om hur du migrerar från OSM till Istio finns i Migreringsvägledning för OSM-konfigurationer (Open Service Mesh) till Istio.

Aktivera OSM-tillägget

OSM kan läggas till i ditt Azure Kubernetes Service-kluster (AKS) genom att aktivera OSM-tillägget med hjälp av Azure CLI eller en Bicep-mall. OSM-tillägget tillhandahåller en installation av OSM som stöds fullt ut och som är integrerad med AKS.

Viktigt!

Baserat på vilken version av Kubernetes klustret körs installerar OSM-tillägget en annan version av OSM.

Kubernetes-version OSM-version installerad
1.24.0 eller senare 1.2.5
Mellan 1.23.5 och 1.24.0 1.1.3
Under 1.23.5 1.0.0

Äldre versioner av OSM kanske inte är tillgängliga för installation eller stöds aktivt om motsvarande AKS-version har nått slutet av livslängden. Du kan kontrollera AKS Kubernetes-versionskalendern för information om AKS-versionssupportfönster.

Funktioner och fördelar

OSM innehåller följande funktioner:

  • Säker tjänst-till-tjänst-kommunikation genom att aktivera ömsesidig TLS (mTLS).
  • Registrera program i OSM-nätet med automatisk sidovagnsinmatning av Envoy-proxy.
  • Konfigurera trafikförskjutning på distributioner transparent.
  • Definiera och köra detaljerade åtkomstkontrollprinciper för tjänster.
  • Övervaka och felsöka tjänster med hjälp av observerbarhet och insikter om programmått.
  • Kryptera kommunikationen mellan tjänstslutpunkter som distribueras i klustret.
  • Aktivera trafikauktorisering för både HTTP/HTTPS- och TCP-trafik.
  • Konfigurera viktade trafikkontroller mellan två eller flera tjänster för A/B-testning eller kanariedistributioner.
  • Samla in och visa KPI:er från programtrafik.
  • Integrera med extern certifikathantering.
  • Integrera med befintliga ingresslösningar som NGINX, Contour och Programroutning.

Mer information om ingress och OSM finns i Använda ingress för att hantera extern åtkomst till tjänster i klustret och Integrera OSM med Contour för ingress. Ett exempel på hur du integrerar OSM med ingresskontrollanter med hjälp av API:et networking.k8s.io/v1 finns i Ingress with Kubernetes Nginx ingress controller (Inkommande med Kubernetes Nginx-ingresskontrollant). Mer information om hur du använder programroutning, som automatiskt integreras med OSM, finns i Programroutning.

Begränsningar

OSM AKS-tillägget har följande begränsningar:

  • Efter installationen måste du aktivera iptables-omdirigering för port-IP-adress och portintervallundantag med hjälp av kubectl patch. Mer information finns i omdirigering av iptables.
  • Alla poddar som behöver åtkomst till IMDS, Azure DNS eller Kubernetes API-servern måste ha sina IP-adresser tillagda i den globala listan över undantagna utgående IP-intervall med globala undantag för utgående IP-intervall.
  • OSM stöder inte Windows Server-containrar.

Nästa steg

När du har aktiverat OSM-tillägget med hjälp av Azure CLI eller en Bicep-mall kan du: