Delen via


Probleemoplossing voor kleine revisieupgrades voor istio-service-mesh-invoegtoepassing

In dit artikel worden scenario's en beperkingen voor probleemoplossing besproken in de kleine revisie-upgrade- en terugdraaiprocessen voor de invoegtoepassing Istio Service mesh in Microsoft Azure Kubernetes Service (AKS).

Notitie

Istio gebruikt de term 'revisies' om het canary-upgradeproces te implementeren en onderscheid te maken tussen versies. Elke revisieaanduiding (geschreven als x-y) komt overeen met een major.minor-versieaanduiding (x.y). U kunt de revisie van het besturingsvlak beheren, maar u kunt de specifieke patchversie niet binnen een revisieband beheren.

Voorwaarden

Matrix voor probleemoplossing

De volgende tabel bevat verschillende problemen en de verschillende scenario's en oplossingen voor deze problemen.

Scenario Probleem Oplossing
Werkbelastingen van het gegevensvlak worden verwijderd uit de mesh. Revisies van gegevensvlak en besturingsvlak komen niet overeen voordat u een upgrade hebt voltooid of teruggedraaid.

Volg vervolgens deze stappen:

  1. Label naamruimten die workloads bevatten door de revisie op te geven die naar verwachting bestaat na de voltooiing van de upgrade of terugdraaibewerking. Voer hiervoor de opdracht kubectl-label uit:

    kubectl label namespace default istio.io/rev=asm-x-y --overwrite
  2. Start de bijbehorende workloadimplementaties opnieuw om sidecar-herinjectie van de juiste revisie te activeren. Voer hiervoor de opdracht voor het opnieuw opstarten van de kubectl-implementatie uit:

    kubectl rollout restart deployment <deployment name>
  3. Controleer of de sidecar-installatiekopieën bestaan. Voer hiervoor de opdracht kubectl get uit:

    kubectl get pods --namespace <namespace> --output yaml | grep mcr.microsoft.com/oss/istio/proxyv2:
De pods van het besturingsvlak hebben de status In behandeling. De pods hebben geen capaciteit. Controleer de status van de pods door de opdracht kubectl describe uit te voeren. Als de capaciteit het probleem is, kunt u het cluster omhoog schalen om een ander knooppunt toe te voegen. Zie Het aantal knooppunten handmatig schalen in een AKS-cluster (Azure Kubernetes Service) voor meer informatie.
De opdracht az aks mesh get-upgrades retourneert geen beschikbare upgrades. De nieuwste Istio-revisie is mogelijk niet compatibel met de huidige AKS-clusterversie. U kunt de opdracht az aks mesh get-revisions gebruiken om te ontdekken of er nieuwere Istio-revisies bestaan. De uitvoer bevat een lijst met compatibele clusterversies voor elke Istio-revisie. Daarom kunt u bepalen of een clusterupgrade nodig is.

Notitie

Om onbedoeld gedrag en verbroken functionaliteit te voorkomen en er ook voor te zorgen dat u updates ontvangt voor beveiligingsproblemen, raden we u ten zeerste aan om een upgrade uit te voeren naar een ondersteunde en bijgewerkte AKS-versie en invoegtoepassingsrevisie van Istio. Houd er rekening mee dat de revisie van de invoegtoepassing ook binnen het ondersteunde Kubernetes-versiebereik voor het opgegeven AKS-cluster moet vallen. Zoals is gemarkeerd in de sectie Secundaire revisie-upgrade van het Istio-upgradeartikel, kunt u de az aks mesh get-revisions en az aks mesh get-upgrades opdrachten uitvoeren voor meer informatie over beschikbare revisies, upgrades en compatibiliteitsgegevens van invoegtoepassingen.

Beperkingen

  • Een downgrade naar een oudere revisie (buiten het canary-terugdraaiproces) is niet toegestaan.

  • Het overslaan van één revisie naar een niet-consecutieve revisie is alleen toegestaan als AKS zowel de huidige revisie als de volgende upgraderevisie niet meer ondersteunt. Op dit moment is de enige upgrade die beschikbaar is voor u de laagste ondersteunde revisie.

  • Het Istio-label sidecar.istio.io/inject schakelt geen sidecar-injectie in voor de Istio-invoegtoepassing. U moet het istio.io/rev label gebruiken wanneer u uw naamruimten labelt en opnieuw labelt tijdens de canary-upgrade.

  • Labelen moet plaatsvinden op een naamruimteniveau in plaats van op een implementatieniveau. Als u pods afzonderlijk wilt kunnen overrollen, kunt u ervoor kiezen om afzonderlijke implementaties opnieuw te starten in plaats van podlabels te gebruiken.

  • Als u de Istio-invoegtoepassing Shared MeshConfig gebruikt, moet u MeshConfig-instellingen kopiëren of overdragen naar de nieuwe ConfigMap voordat u een canary-upgrade uitvoert. Zie Mesh-configuratie en -upgrades voor meer informatie.

  • Met de invoegtoepassing Istio worden gatewaypods en implementaties per revisie geïmplementeerd in Istio. Als u een canary-upgrade uitvoert en twee revisies van het besturingsvlak in uw cluster hebt geïnstalleerd, moet u mogelijk meerdere gatewaypods voor inkomend verkeer in beide revisies oplossen.

Verwijzingen

Disclaimerinformatie van derden

De producten van derden die in dit artikel worden vermeld, worden vervaardigd door bedrijven die onafhankelijk zijn van Microsoft. Microsoft verleent dan ook geen enkele garantie, impliciet noch anderszins, omtrent de prestaties of de betrouwbaarheid van deze producten.

Disclaimerinformatie van derden

Microsoft biedt contactgegevens van derden om u te helpen aanvullende informatie over dit onderwerp te vinden. Deze contactinformatie kan zonder voorafgaande kennisgeving worden gewijzigd. Microsoft garandeert niet de nauwkeurigheid van contactgegevens van derden.

Contacteer ons voor hulp

Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.