Dela via


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

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:

  1. Ommärkta 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återjektion av rätt revision. Det gör du genom att köra kommandot för att starta om kubectl-distributionen:

    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:
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ända istio.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.