Om tjänstnät

Ett tjänstnät är ett infrastrukturlager i ditt program som underlättar kommunikationen mellan tjänster. Tjänstnät ger funktioner som trafikhantering, återhämtning, princip, säkerhet, stark identitet och observerbarhet för dina arbetsbelastningar. Ditt program är frikopplat från de här driftfunktionerna, medan tjänstnätet flyttar dem från programlagret och ned till infrastrukturlagret.

Scenarier

När du använder ett tjänstnät kan du aktivera scenarier som:

  • Kryptera all trafik i klustret: Aktivera ömsesidig TLS mellan angivna tjänster i klustret. Detta kan utökas till ingress och utgående trafik i nätverksperimetern och ger ett säkert alternativ som standard utan ändringar som krävs för programkod och infrastruktur.

  • Kanariebaserade och stegvisa distributioner: Ange villkor för en delmängd av trafiken som ska dirigeras till en uppsättning nya tjänster i klustret. Vid lyckat test av kanarieversion tar du bort villkorlig routning och gradvis ökar % av all trafik till en ny tjänst. Så småningom dirigeras all trafik till den nya tjänsten.

  • Trafikhantering och manipulering: Skapa en princip för en tjänst som begränsar all trafik till en version av en tjänst från ett visst ursprung, eller en princip som tillämpar en återförsöksstrategi på felklasser mellan angivna tjänster. Spegla livetrafik till nya versioner av tjänster under en migrering eller för att felsöka problem. Mata in fel mellan tjänster i en testmiljö för att testa återhämtning.

  • Observerbarhet: Få insikt i hur dina tjänster är anslutna och vilken trafik som flödar mellan dem. Samla in mått, loggar och spårningar för all trafik i klustret, inklusive ingress/utgående trafik. Lägg till distribuerade spårningsfunktioner i program.

Urvalskriterier

Innan du väljer ett servicenät bör du se till att du förstår dina krav och resonemang för att installera ett servicenät. Ställ följande frågor:

  • Är en ingresskontrollant tillräcklig för mina behov?: Ibland räcker det att ha en funktion som A/B-testning eller trafikdelning vid ingressen för att stödja det scenario som krävs. Lägg inte till komplexitet i din miljö utan uppsida.

  • Kan mina arbetsbelastningar och min miljö tolerera ytterligare omkostnader?: Alla komponenter som krävs för att stödja servicenätet kräver resurser som CPU och minne. Alla proxyservrar och deras associerade principkontroller lägger till svarstid för din trafik. Om du har arbetsbelastningar som är mycket känsliga för svarstid eller inte kan tillhandahålla extra resurser för att täcka service mesh-komponenter bör du överväga att använda ett servicenät.

  • Lägger detta till onödig komplexitet?: Om du vill installera ett tjänstnät för att använda en funktion som inte är viktig för affärs- eller driftteamen bör du överväga om den extra komplexiteten i installation, underhåll och konfiguration är värd det.

  • Kan detta användas i en inkrementell metod?: Vissa av de tjänstnät som tillhandahåller många funktioner kan användas i en mer inkrementell metod. Installera bara de komponenter du behöver för att säkerställa att du lyckas. Om du senare upptäcker att det krävs fler funktioner kan du utforska dem vid ett senare tillfälle. Motstå lusten att installera allt från början.

Nästa steg

Azure Kubernetes Service (AKS) erbjuder officiellt stödda tillägg för Istio och Open Service Mesh:

Det finns också tjänstnät som tillhandahålls av projekt med öppen källkod och tredje part som ofta används med AKS. Dessa tjänstnät omfattas inte av AKS-supportprincipen.

Mer information om liggande servicenät finns i Layer 5:s Service Mesh-liggande.

Mer information om standardiseringsarbetet för servicenät finns i: