Upgrades und Migrationen
Ein neues Release von Labtagon AI OS ist eine neue Version des Charts mit neuen Images. Du rollst es
mit helm upgrade aus; der Controller zieht die Datenbank nach.
Vor dem Upgrade
Abschnitt betitelt „Vor dem Upgrade“-
Sichern. Stell sicher, dass es ein aktuelles Backup von Postgres gibt und die Schlüssel sicher sind (Backups und Wiederherstellung).
-
Lies die Release-Notes und das README des Charts auf umbenannte oder veraltete Werte. Das Chart hält einen veralteten Wert ein Release lang am Laufen und sagt das in seinen Hinweisen; zum Beispiel
keycloak.harnessClients, daskeycloak.agentClientsersetzt. -
Erst rendern:
Terminal-Fenster helm lint deploy/helm/ai-os -f values.yamlhelm template ai-os deploy/helm/ai-os -n ai-os-system -f values.yaml > /dev/nullDas Chart lehnt Werte ab, die sich widersprechen, etwa einen Digest, der nicht
sha256:mit 64 Hex-Ziffern ist, einige Komponenten per Digest festgelegt und andere nicht, oder einen Standardwert für das Einschlafen, der länger ist als der längste erlaubte.
Ausrollen
Abschnitt betitelt „Ausrollen“helm upgrade ai-os deploy/helm/ai-os -n ai-os-system -f values.yaml- Roll alle Komponenten zusammen aus. Sie erscheinen als eine Version. Einen Fall nennt das Chart ausdrücklich: Das Egress-Gateway hinter das Release zurückzurollen, das API-Regeln gebracht hat, macht aus diesen Regeln Zugriff auf ganze Hosts.
- Per Digest festgelegte Images: Setz die neuen Digests aller Komponenten, des Bundle-Fetchers und des Prüf-Images zusammen.
- Runtimes der Tool-Server sind je Release per Digest festgelegt (
runtimes.*). Ein neuer Runtime-Digest bedeutet neue Builds der Server, die sie nutzen.
Datenbank-Migrationen
Abschnitt betitelt „Datenbank-Migrationen“- Der Controller spielt die Migrationen aus
db/migrationsselbst ein, wenn er startet (--migrate-dir): in der Reihenfolge ihrer Namen, jede einmal und in einer eigenen Transaktion. Welche gelaufen sind, steht in der Tabelleschema_migrations. - Eine Advisory Lock in Postgres sorgt dafür, dass nur ein Controller migriert, wenn mehrere gleichzeitig starten.
- Eine Migration, die fehlschlägt, wird zurückgerollt, und der Controller startet nicht; der Fehler nennt die Datei. Beheb die Ursache und lass den Pod neu starten.
- Migrationen gehen nur vorwärts; es gibt keine Rück-Migrationen. Um zurückzugehen, stell die Datenbank aus dem Backup von vorher wieder her.
Postgres-Versionen
Abschnitt betitelt „Postgres-Versionen“postgres.imageName legt das PostgreSQL-Image des CloudNativePG-Clusters fest (PostgreSQL 18.6 im
aktuellen Chart). Ein Cluster, der schon eine andere Hauptversion betreibt, braucht hier sein eigenes
Image: Eine andere Hauptversion ist ein Major-Upgrade, das CloudNativePG auf seine eigene Weise macht
(und ein Downgrade, das es ablehnt).
Nach dem Upgrade
Abschnitt betitelt „Nach dem Upgrade“- Prüfe unter Verwaltung → Plattform, dass jede Komponente bereit ist und die neue Version betreibt und dass die Build-Prüfungen an sind.
- Melde dich an, öffne einen Chat und ruf aus einem Client ein Tool auf.
global.mirrorzu ändern bedeutet neue Freigaben für Begleiter auf einer Runtime und neue Builds, außer die Runtimes waren schon auf dieselben Referenzen festgelegt.