Setzen Sie den RabbitMQ-Cluster zurück, wenn dieser aufgrund einer inkompatiblen Feature-Flag-Konfiguration nicht ordnungsgemäß initialisiert werden kann. Dieses Problem kann beim Aktualisieren von SystemLink Enterprise auftreten.

Aufgrund der in RabbitMQ 3.11.0 eingeführten erforderlichen Feature-Flagging-Funktion können Sie beim Aktualisieren von RabbitMQ keine Nebenversionen überspringen. Beim Aktualisieren auf eine Version von SystemLink Enterprise, die das Überspringen einer Nebenversion von Rabbit MQ verursacht, kommt es zu Inkompatibilitäten. Führen Sie zum Beheben der Inkompatibilitäten folgende Schritte aus, um einen Hard-Reset durchzuführen.
  1. Aktualisieren oder downgraden Sie SystemLink Enterprise auf die gewünschte Version.
  2. Um den Statussatz (Stateful Set) des RabbitMQ-Clusters zu löschen, öffnen Sie das Kommandozeilenfeld und führen Sie den folgenden Befehl aus.

    kubectl -n namespace delete statefulset release-rabbitmq

    wobei
    • namespace der für die Anwendung erstellte Namensraum ist.
    • release der Name ist, den Helm dem installierten Softwaresatz zuweist.
  3. Führen Sie den folgenden Befehl aus, um den Satz persistenter Volume-Ansprüche zu ermitteln, die dem RabbitMQ-Cluster zugeordnet sind.

    kubectl -n namespace get pvc --selector=app.kubernetes.io/name=rabbitmq

    Dieser Befehl gibt eine Liste persistenter Volume-Ansprüche zurück, einschließlich data-release-rabbitmq-0, data-release-rabbitmq-1 und data-release-rabbitmq-2. Abhängig von der Konfiguration der Anwendung verfügen Sie möglicherweise über zusätzliche Volumes.
  4. Führen Sie den folgenden Befehl für jedes der im vorherigen Schritt ausgegebenen Volumes aus, um sie zu löschen.

    kubectl -n namespace delete pvc data-release-rabbitmq-n

    wobei
    • N das zu löschende Volume ist.
  5. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Sie alle Volume-Ansprüche gelöscht haben.

    kubectl -n namespace get pvc --selector=app.kubernetes.io/name=rabbitmq

  6. Um die aktuelle Version der SystemLink Enterprise Helm-Version zu ermitteln, führen Sie den folgenden Befehl aus.

    helm -n namespace status release

  7. Führen Sie den folgenden Befehl aus, um die Helm-Version auf den bereitgestellten Status der aktuellen Version zurückzusetzen.

    helm -n namespace rollback releaserevision --recreate-pods

    wobei
    • revision der REVISIONS-Wert ist, den der vorherige Befehl zurückgibt.
    Der RabbitMQ-Cluster wird nicht als Upgrade, sondern als Neuinstallation erneut bereitgestellt, wodurch alle Einschränkungen der Upgrade-Version umgangen werden. Alle Pods in der Anwendung werden neu erstellt und verwenden den neuen RabbitMQ-Cluster. Die Zeit für die erneute Bereitstellung variiert je nach Größe Ihres Clusters.