Azure ACI: Warum Wartungsmaßnahmen durchführen
Diese Anwendung ist auf hohe Ausfallsicherheit ausgelegt und erfordert nur wenige Wartungsmaßnahmen. In manchen Situationen kann es jedoch erforderlich sein, die ACI (Azure Container Instance) neu zu starten, um Ihre Anwendungsversion zu aktualisieren und von den neuesten Patch-Releases zu profitieren.
In manchen Fällen, zum Beispiel wenn während der Datenverarbeitung ein Fehler auftritt, werden einige für den Vorgang erstellte Dateien möglicherweise nicht gelöscht. Sie können sich ansammeln und das zugewiesene Volume auffüllen. Dieses Problem lässt sich in der Regel durch Stoppen und Neustarten der App beheben.
Warnung: Dieser Artikel beschreibt keine Wartungsmaßnahmen für das Azure-Gateway oder die Routing-Konfiguration, die Sie möglicherweise in Ihrer Umgebung eingerichtet haben, da diese Konfigurationen von Kunde zu Kunde erheblich variieren können.
Wann eingreifen
Fehlgeschlagene Datenverarbeitungsprozesse
Das erste Anzeichen dafür, dass Ihre Anwendung möglicherweise Wartung benötigt, ist, wenn einige von Salesforce aus gestartete Datenverarbeitungsprozesse mit dem Status Failed enden. Bevor Sie Ihre Azure-Plattform überprüfen, stellen Sie sicher, dass die Fehlerbeschreibung nicht auf ein Problem an anderer Stelle hinweist. Wenn Sie beispielsweise eigene Deduplizierungsregeln erstellt haben, können einige Fehler auftreten und den Prozess stoppen.
Wenn Sie beispielsweise Ihre Salesforce-Lightning-Anwendung DQE One überprüfen, den Tab Runs öffnen und einen fehlgeschlagenen Lauf wie unten dargestellt finden, müssen Sie möglicherweise Ihre Azure Container Instance neu starten.
Ausstehende Datenverarbeitungsprozesse
Manchmal kann die Job-Warteschlange bei derselben Nachricht hängen bleiben und die Datenverarbeitung blockieren. Löschen Sie in diesem Fall die dem RabbitMQ-Container zugewiesene File Share und laden Sie die Anwendung neu. Dies sollte das Problem in den meisten Fällen beheben.
Wenn die mit dem RabbitMQ-Container verknüpfte File Share öffentlich ist, können Sie über das Azure-Portal darauf zugreifen und ihren Inhalt löschen.
Wenn die File Share privat ist, müssen Sie auf den Container zugreifen und das RabbitMQ-Verzeichnis manuell leeren. Wenn der Container ausgeführt wird, gehen Sie wie folgt vor:
- Melden Sie sich beim Container an.
-
Löschen Sie die folgende Datei:
/bitnami/rabbitmq/mnesia/rabbit@localhost/msg_stores/vhosts/ - Stoppen Sie die App und starten Sie sie über das Übersichtsfenster neu.
Vorgehensweise
Logs abrufen
Die Logs werden standardmäßig 30 Tage lang im zuvor erstellten Log Analytics Worker gespeichert. Gehen Sie wie folgt vor, um sie abzurufen:
- Gehen Sie zum Log Analytics Worker und öffnen Sie dann den Tab Logs:
-
Exportieren Sie die Ergebnisse dieses Befehls als CSV:
ContainerInstanceLog_CL | project TimeGenerated,ContainerName_s,Message | where ContainerName_s == "one-server" or ContainerName_s == "queue-worker" | sort by ContainerName_s asc, TimeGenerated asc
App neu erstellen
Wenn Sie eine neuere Version erneut bereitstellen oder einfach die von Ihrer Anwendung verwendeten Volumes leeren müssen, müssen Sie möglicherweise die Container stoppen.
Gehen Sie zum Tab Overview und klicken Sie auf Stop. Sobald der Server gestoppt wurde, klicken Sie auf Start. Dadurch wird das neueste Release abgerufen, das mit dem in der Konfigurationsdatei angegebenen Tag versehen ist, und die gesamte Anwendung wird neu erstellt.
Dadurch werden auch alle zuvor von dieser Anwendung verwendeten Volumes gelöscht.
Neustart
- Starten Sie die Azure Container Instance neu.
Gehen Sie zum Tab Overview und klicken Sie auf Restart. - Überwachen Sie das Neuladen der Container.
Alle Container sollten letztlich den Status Running erreichen.
Wenn ein Container den Status Terminated hat, ist etwas schiefgelaufen und Sie sollten den Support kontaktieren. Andernfalls wurde Ihr Server erfolgreich neu gestartet.
Aktualisierung der Image-Registry-Zugangsdaten
- Gehen Sie zur YAML-Datei.
- Aktualisieren Sie Login und Passwort in der Datei und speichern Sie sie anschließend.
- Führen Sie den folgenden Befehl basierend auf der neuesten YAML-Datei aus:
$ az container create -g <your Resource Group Name> -f <.yaml file path>
Verknüpfung mit