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. Programmet är frikopplat från dessa driftfunktioner, medan servicenätet flyttar dem från programskiktet 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 vid nätverksperimetern och ger ett säkert alternativ som standard utan ändringar som krävs för programkod och infrastruktur.
Kanarie- 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 canary release tar du bort villkorsstyrd 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 specifikt 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 måste du förstå dina krav och resonemang för att installera ett servicenät. Ställ följande frågor:
Räcker det med en ingresskontrollant 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 kritisk för affärs- eller driftteamen bör du överväga om den extra komplexiteten för installation, underhåll och konfiguration är värt det.
Kan detta antas i en inkrementell metod?: Vissa av de tjänstnät som tillhandahåller många funktioner kan antas i en mer inkrementell metod. Installera bara de komponenter som du behöver för att säkerställa att du lyckas. Om du senare upptäcker att fler funktioner krävs kan du utforska dem vid ett senare tillfälle. Motstå driften 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 service mesh finns i:
Azure Kubernetes Service