Udostępnij za pośrednictwem


Rozwiązywanie problemów z dodatkiem usługi Istio service mesh w wersji pomocniczej

W tym artykule omówiono scenariusze rozwiązywania problemów i ograniczenia dotyczące procesów uaktualniania i wycofywania drobnych poprawek dla dodatku siatki usługi Istio w usłudze Microsoft Azure Kubernetes Service (AKS).

Uwaga 16.

Istio używa terminu "poprawki", aby zaimplementować proces uaktualniania kanary i rozróżniać wersje. Każde oznaczenie wersji (zapisane jako x-y) odpowiada oznaczeniu wersji głównej.pomocniczej (x.y). Możesz kontrolować poprawkę płaszczyzny sterowania, ale nie można kontrolować określonej wersji poprawki w pasmie poprawek.

Wymagania wstępne

Macierz rozwiązywania problemów

W poniższej tabeli wymieniono różne problemy oraz różne scenariusze i rozwiązania tych problemów.

Scenariusz Problem Rozwiązanie
Obciążenia płaszczyzny danych są porzucane z siatki. Wersje płaszczyzny danych i płaszczyzny sterowania nie odpowiadały przed ukończeniem lub wycofaniem uaktualnienia.

Wykonaj te kroki:

  1. Ponownie obeluj przestrzenie nazw zawierające obciążenia, określając wersję, która ma istnieć po zakończeniu uaktualnienia lub wycofaniu. W tym celu uruchom polecenie kubectl label :

    kubectl label namespace default istio.io/rev=asm-x-y --overwrite
  2. Uruchom ponownie odpowiednie wdrożenia obciążeń, aby wyzwolić ponowne wdrożenie przyczepki prawidłowej poprawki. W tym celu uruchom polecenie kubectl rollout restart :

    kubectl rollout restart deployment <deployment name>
  3. Sprawdź, czy istnieją obrazy przyczepki. W tym celu uruchom polecenie kubectl get :

    kubectl get pods --namespace <namespace> --output yaml | grep mcr.microsoft.com/oss/istio/proxyv2:
Zasobniki płaszczyzny sterowania znajdują się w stanie oczekiwania. Zasobniki nie mają pojemności. Sprawdź stan zasobników, uruchamiając polecenie kubectl describe . Jeśli pojemność jest problemem, możesz skalować klaster w górę, aby dodać kolejny węzeł. Aby uzyskać więcej informacji, zobacz Ręczne skalowanie liczby węzłów w klastrze usługi Azure Kubernetes Service (AKS).
Polecenie az aks mesh get-upgrades zwraca brak dostępnych uaktualnień. Najnowsza poprawka istio może być niezgodna z bieżącą wersją klastra usługi AKS. Możesz użyć polecenia az aks mesh get-revisions , aby dowiedzieć się, czy istnieją nowsze poprawki Istio. Dane wyjściowe zawierają listę zgodnych wersji klastra dla każdej poprawki istio. W związku z tym można określić, czy uaktualnienie klastra jest konieczne.

Uwaga 16.

Aby uniknąć niezamierzonego zachowania i uszkodzonych funkcji, a także upewnij się, że otrzymujesz aktualizacje luk w zabezpieczeniach, zdecydowanie zalecamy uaktualnienie do obsługiwanej i aktualnej wersji usługi AKS oraz poprawki dodatku Istio. Należy pamiętać, że poprawka dodatku powinna również znajdować się w obsługiwanym zakresie wersji rozwiązania Kubernetes dla danego klastra usługi AKS. Jak wyróżniono w sekcji Uaktualnienie wersji pomocniczej artykułu Istio upgrade, możesz uruchomić az aks mesh get-revisions polecenia iaz aks mesh get-upgrades, aby dowiedzieć się więcej o dostępnych poprawkach dodatków, uaktualnieniach i informacjach o zgodności.

Ograniczenia

  • Zmiana na starszą wersję (poza procesem wycofywania kanary) nie jest dozwolona.

  • Pomijanie z jednej poprawki do nieskontencyjnej poprawki jest dozwolone tylko wtedy, gdy usługa AKS nie obsługuje już bieżącej poprawki i kolejnej poprawki uaktualnienia. W tym momencie jedynym dostępnym uaktualnieniem jest najniższa obsługiwana wersja.

  • Etykieta Istio sidecar.istio.io/inject nie włącza wstrzykiwania przyczepki dla dodatku Istio. Należy użyć etykiety podczas etykietowania istio.io/rev i ponownego etykietowania przestrzeni nazw podczas uaktualniania kanargu.

  • Etykietowanie musi występować na poziomie przestrzeni nazw zamiast na poziomie wdrożenia. Jeśli chcesz mieć możliwość pojedynczego przerzucania zasobników, możesz ponownie uruchomić poszczególne wdrożenia, zamiast używać etykietowania zasobników.

  • Jeśli używasz dodatku Istio Shared MeshConfig, przed uaktualnieniem kanarku musisz skopiować lub przenieść ustawienia meshConfigConfig do nowej mapy konfiguracji. Aby uzyskać więcej informacji, zobacz Konfiguracja i uaktualnienia usługi Mesh.

  • Dodatek Istio wdraża zasobniki i wdrożenia bramy ruchu przychodzącego Istio na wersję. Jeśli przeprowadzasz uaktualnienie kanary i masz dwie poprawki płaszczyzny sterowania zainstalowane w klastrze, może być konieczne rozwiązywanie problemów z wieloma zasobnikami bramy ruchu przychodzącego w obu poprawkach.

Informacje

Zastrzeżenie dotyczące innych firm

Produkty innych firm omówione w tym artykule są wytwarzane przez producentów niezależnych od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, dorozumianych ani żadnego innego rodzaju, w odniesieniu do wydajności lub niezawodności tych produktów.

Wyłączenie odpowiedzialności za kontakty z osobami trzecimi

Firma Microsoft udostępnia informacje kontaktowe innych firm, aby uzyskać dodatkowe informacje na temat tego tematu. Informacje te mogą zostać zmienione bez powiadomienia. Firma Microsoft nie gwarantuje dokładności informacji kontaktowych innych firm.

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.