Felsökning av mindre revisionsuppgradering för Istio Service Mesh
I den här artikeln beskrivs felsökningsscenarier och begränsningar i mindre revisionsprocesser för uppgradering och återställning av Istio-tjänstnättillägget i Microsoft Azure Kubernetes Service (AKS).
Kommentar
Istio använder termen "revisioner" för att implementera kanarieuppgraderingsprocessen och skilja mellan versioner. Varje revisionsbeteckning (skriven som x-y) motsvarar en major.minor-versionsbeteckning (x.y). Du kan styra revisionen av kontrollplanet, 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. | Följ de här stegen:
|
Kontrollplanspoddar ä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 AKS-kluster (Azure Kubernetes Service). |
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. |
Kommentar
För att undvika oavsiktligt beteende och brutna funktioner och även se till att du får uppdateringar för säkerhetsrisker rekommenderar vi starkt att du uppgraderar till en uppdaterad VERSION av AKS och Istio-tillägget som stöds. 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 återställningsprocessen för canary) 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. I det här läget är den enda uppgradering som är tillgänglig för dig den lägsta revision 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 ometiketter namnrymderna under canary-uppgraderingen.Etikettering måste ske på namnområdesnivå i stället för på en nivå per distribution. Om du vill kunna rulla över 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 ingressgatewaypoddar i båda revisionerna.
Referenser
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.