Kubernetes
Eine mit dem Helm-Chart angelegte Installation aktualisieren
- Vor der Aktualisierung
- Von 7.2 auf 7.3
- 1. Die neue Chart-Version finden
- 2. Das Release aktualisieren
- 3. Die Aktualisierung prüfen
- Zurücksetzen
Jede Chart-Version deployt eine AnsibleForms-Version. Eine Aktualisierung installiert eine neuere Chart-Version mit Ihren bestehenden Values; die Daten auf den persistenten Volumes bleiben erhalten. Eine Aktualisierung, die nichts ändert, lässt die Pods unberührt.
Vor der Aktualisierung
Bereiten Sie die Aktualisierung so vor, dass Sie zurückkehren können, falls etwas schiefgeht:
- Erstellen Sie ein Backup unter Einstellungen → Backups. Die neue Version aktualisiert das Datenbankschema bei ihrem ersten Start.
- Lesen Sie das Changelog für die Versionen zwischen Ihrer und der neuen.
- Wechsel auf eine neue Hauptversion? Folgen Sie zuerst Auf v7 aktualisieren.
- Lesen Sie das Changelog des Charts auf Änderungen an den Values.
- Mit erzeugten Anmeldedaten (
secrets.generate) sichern Sie das Secret<release>-secrets:ENCRYPTION_SECRETlässt sich nicht wiederherstellen. - Sie kommen von 7.2? Die RTE im Server-Pod wechselt den Modus: siehe Von 7.2 auf 7.3.
Von 7.2 auf 7.3
Chart 7.3.0 holt die RTE neben der App aus dem Datenbankmodus, der in 7.3.0 als veraltet markiert und in 8.0.0 entfernt wird. Die App verbindet sich mit ihr auf 127.0.0.1 und hält einen WebSocket offen (RTE_MODE=inbound, siehe Modi):
- Der RTE-Container bekommt kein
DB_HOST,DB_USER,DB_PASSWORD,ENCRYPTION_SECREToderRTE_URLmehr und nimmt die Dateien des Jobs vom gemeinsamen Volume (RTE_FILES=local) - Der Konfigurations-Seed des Charts deklariert RTE-Anmeldedaten mit dem Token und der Adresse sowie den Runner,
rte_mode: inbound, der sich damit anmeldet. Mit dem Seed des Charts ist nichts zu tun - Mit
containers.rte.seedRunner: falseoder einem eigenen Konfigurations-Seed (CONFIG_SEED_PATH) fügt sich die RTE nicht mehr selbst als Runner hinzu. Deklarieren Sie sie selbst, in Ihrem Seed oder unter Verbindungen → Runner: RTE-Anmeldedaten mithttp://127.0.0.1:<port>und dem Token sowie einen Runner vom Typ RTE mitrte_mode: inbound, der sie nennt. Die Hinweise, die Helm nach der Aktualisierung ausgibt, zeigen wie
Das Chart installiert seit 7.3.0 mit runner.enabled auch einen einzelnen Runner (siehe Ein Runner auf Kubernetes).
1. Die neue Chart-Version finden
Aktualisieren Sie das Chart-Repository und listen Sie die verfügbaren Chart-Versionen auf:
helm repo update
helm search repo ansibleforms/ansibleforms --versions
2. Das Release aktualisieren
Führen Sie denselben Befehl helm upgrade wie bei der Installation aus, mit Ihrer Values-Datei und der neuen Chart-Version:
helm upgrade --install ansibleforms ansibleforms/ansibleforms \
--namespace ansibleforms \
--values my_values.yaml \
--version 7.0.0
Mit der OCI-Registry verwenden Sie oci://ghcr.io/ansibleforms/charts/ansibleforms als Chart.
3. Die Aktualisierung prüfen
Warten Sie auf die neuen Pods und führen Sie dann den Test des Charts aus, der sowohl den Webserver als auch die Datenbankverbindung prüft:
kubectl -n ansibleforms get pods -w
helm test ansibleforms --namespace ansibleforms --logs
In AnsibleForms zeigt Hilfe → Info die laufende Version, und Einstellungen → Status zeigt den Zustand der Datenbank, des Schemas und der anderen Systeme, von denen AnsibleForms abhängt.
Zurücksetzen
Helm bewahrt die Historie des Release auf. Um zur vorherigen Revision zurückzukehren:
helm history ansibleforms --namespace ansibleforms
helm rollback ansibleforms --namespace ansibleforms
Startet sie nicht auf der aktualisierten Datenbank, stellen Sie Ihr Backup wieder her (siehe das README des Charts).