Felsökning av mindre revisionsuppgradering för Istio Service Mesh-tillägg
Den här artikeln beskriver felsökningsscenarier och begränsningar i de mindre revisionsprocesserna för uppgradering och återställning av Istio-tjänstnät i Microsoft Azure Kubernetes Service (AKS).
Obs!
Istio använder termen "revisioner" för att implementera canary-uppgraderingsprocessen och skilja mellan versioner. Varje revisionsbeteckning (skriven som x-y) motsvarar en beteckning för major.minor-versionen (x.y). Du kan styra kontrollplanets revision, men du kan inte styra den specifika korrigeringsversionen i ett revisionsband.
Förutsättningar
Kubernetes kubectl-verktyget eller ett liknande verktyg för att ansluta till klustret. Om du vill installera kubectl med hjälp av Azure CLI kör du kommandot az aks install-cli .
Felsökningsmatris
I följande tabell visas olika problem och olika scenarier och lösningar för dessa problem.
Scenario | Problem | Lösning |
---|---|---|
Dataplansarbetsbelastningar tas bort från nätet. | Dataplanets och kontrollplanets revisioner motsvarade inte innan du slutförde eller återställde en uppgradering. | Gör så här:
|
Kontrollplanets poddar är i väntande tillstånd. | Poddarna saknar kapacitet. | Kontrollera poddarnas tillstånd genom att köra kommandot kubectl describe . Om kapaciteten är problemet kan du skala upp klustret för att lägga till en annan nod. Mer information finns i Skala antalet noder manuellt i ett Azure Kubernetes Service -kluster (AKS). |
Kommandot az aks mesh get-upgrades returnerar inga tillgängliga uppgraderingar. | Den senaste Istio-revisionen kan vara inkompatibel med den aktuella AKS-klusterversionen. | Du kan använda kommandot az aks mesh get-revisions för att ta reda på om det finns nyare Istio-revisioner. Utdata innehåller en lista över kompatibla klusterversioner för varje Istio-revision. Därför kan du avgöra om en klusteruppgradering är nödvändig. |
Obs!
För att undvika oavsiktligt beteende och felaktiga funktioner och även se till att du får uppdateringar för säkerhetsrisker rekommenderar vi starkt att du uppgraderar till en aks-version som stöds och är uppdaterad och tilläggsrevisionen för Istio. Kom ihåg att tilläggsrevisionen också bör ligga inom kubernetes-versionsintervallet som stöds för det angivna AKS-klustret. Som du ser i avsnittet Mindre revisionsuppgradering i istio-uppgraderingsartikeln kan du köra az aks mesh get-revisions
kommandona och az aks mesh get-upgrades
för att lära dig mer om tillgängliga tilläggsrevisioner, uppgraderingar och kompatibilitetsinformation.
Begränsningar
En nedgradering till en äldre revision (utanför canary rollback-processen) tillåts inte.
Hoppa från en revision till en icke-konsekutiv revision tillåts endast om AKS inte längre stöder både den aktuella revisionen och nästa uppgraderingsrevision. Nu är den enda uppgradering som är tillgänglig för dig den lägsta versionen som stöds.
Istio-etiketten
sidecar.istio.io/inject
aktiverar inte sidovagnsinmatning för Istio-tillägget. Du måste användaistio.io/rev
etiketten när du etiketterar och etiketterar om namnrymderna under kanarieuppgradering.Etikettering måste ske på namnområdesnivå i stället för på en nivå per distribution. Om du vill kunna distribuera poddar individuellt kan du välja att starta om enskilda distributioner i stället för att använda poddetiketter.
Om du använder Istio-tillägget Shared MeshConfig måste du kopiera eller överföra MeshConfig-inställningarna till den nya ConfigMap innan du utför en kanarieuppgradering. Mer information finns i Mesh-konfiguration och -uppgraderingar.
Istio-tillägget distribuerar Istio-ingressgatewaypoddar och -distributioner per revision. Om du utför en kanarieuppgradering och har två kontrollplansrevisioner installerade i klustret kan du behöva felsöka flera inkommande gateway-poddar i båda revisionerna.
Referenser
Uppgradera Istio-kontrollplanet på ett säkert sätt med revisioner och taggar
Felsökning av certifikat för Istio Service Mesh-tilläggsprogram för ca-certifikat
Ansvarsfriskrivning för information från tredje part
De produkter från andra tillverkare som diskuteras i denna artikel tillverkas oberoende av Microsoft. Produkternas funktion eller tillförlitlighet kan därför inte garanteras.
Ansvarsfriskrivning för tredje part
Microsoft tillhandahåller kontaktinformation från tredje part som hjälper dig att hitta ytterligare information om det här ämnet. Denna kontaktinformation kan ändras utan föregående meddelande. Microsoft garanterar inte att kontaktinformation från tredje part är korrekt.
Kontakta oss för att få hjälp
Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.