Dela via


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

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:

  1. Ometikettera namnområden som innehåller arbetsbelastningar genom att ange den revision som förväntas finnas efter uppgraderingens slutförande eller återställning. Det gör du genom att köra kommandot kubectl label :

    kubectl label namespace default istio.io/rev=asm-x-y --overwrite
  2. Starta om motsvarande arbetsbelastningsdistributioner för att utlösa sidovagnsåterföring av rätt revision. Det gör du genom att köra kommandot för omstart av kubectl-distribution :

    kubectl rollout restart deployment <deployment name>
  3. Kontrollera att sidovagnsbilderna finns. Det gör du genom att köra kommandot kubectl get :

    kubectl get pods --namespace <namespace> --output yaml | grep mcr.microsoft.com/oss/istio/proxyv2:
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ända istio.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

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.