Warum hat mein benutzerdefinierter Gateway-Operator Istio einen Abstimmungsschleifenfehler?
Virtuelle Private Cloud Klassische Infrastruktur
Wenn Sie Ihre IstioOperator (IOP)-Protokolle überprüfen, stellen Sie eine Abstimmungsschleife fest, die durch die folgende, sich wiederholende Zeile in den Protokollen angezeigt wird.
2022-09-29T12:57:48.412711Z info installer Reconciling IstioOperator
Normalerweise beginnt ein Abgleich mit der Nachricht info installer Reconciling IstioOperator und endet, wenn die Konfiguration validiert und Implementierungen aktualisiert werden. Wenn der Abgleich neu gestartet wird, liegt ein Problem
in der Ressourcenkonfiguration des benutzerdefinierten Gateways IstioOperator(IOP) vor, das den Neustart des Operators verursacht.
Führen Sie in einem Testcluster eine Syntaxanalyse der IOP-Ressourcenkonfiguration durch, um die Zeile zu finden, die den Fehler enthält.
-
Kopieren Sie Ihre IOP-Ressourcenkonfiguration und speichern Sie sie an einer sicheren Position.
-
Erstellen Sie eine neue YAML-Datei, um jeden Abschnitt der IOP-Ressource zu testen. Ziehen Sie die Benennung
iop-test.yamlin Betracht. -
Kopieren Sie einen Abschnitt aus der IOP-Ressourcenkonfiguration und fügen Sie ihn in die Testdatei ein.
-
Wenden Sie die Testdatei in einem Testcluster an.
Um Unterbrechungen Ihrer Arbeitslast zu vermeiden, wird empfohlen, diese Schritte in einem Testcluster auszuführen.
kubectl apply -f iop-test.yaml -
Warten Sie ein paar Minuten und überprüfen Sie dann die Istio Operator-Pod-Protokolle auf einen Abstimmungsschleifenfehler. Wenn kein Abstimmungsschleifenfehler auftritt, fügen Sie den nächsten Abschnitt der IOP-Ressourcenkonfiguration zur Testdatei hinzu, wenden Sie die Datei erneut an und überprüfen Sie die Protokolle erneut. Fahren Sie mit der Überprüfung der einzelnen Abschnitte der IOP-Ressourcenkonfiguration fort, bis der Fehler in der Abstimmungsschleife in den Protokollen angezeigt wird.
Führen Sie den folgenden Befehl aus, um die Istio operator pod logs zu überprüfen.
kubectl logs -n ibm-operators -l name=addon-istio-operator -
Nachdem Sie festgestellt haben, welcher Abschnitt in der IOP-Ressourcenkonfiguration den Fehler in der Abstimmungsschleife verursacht hat, wiederholen Sie die Schritte für jede einzelne Zeile im Abschnitt, bis Sie die Zeile bestimmt haben, die den Fehler verursacht hat.
-
Debuggen Sie die Zeile, um den Fehler zu beheben.
-
Wiederholen Sie den Vorgang mit den übrigen Abschnitten, bis Sie die gesamte ursprüngliche IOP-Konfiguration in die Testdatei kopiert und festgestellt haben, dass keine Fehler mehr vorhanden sind.
-
Entfernen Sie die Testdatei.
kubectl remove <test_iop_name> -
Die ursprüngliche IOP-Ressourcenkonfiguration aktualisieren, um die Leitung zu ersetzen, die den Fehler verursacht hat. Wenden Sie anschließend die ursprüngliche IOP-Ressource erneut auf Ihren Produktionscluster an.
kubectl apply -f iop.yaml