//Cloudogu EcoSystem Docs

Finale Migration

Die "finale Migration" unterscheidet sich zu den anderen Migrationsläufen ("delta Migration") in den folgenden Punkten:

  • Die "finale Migration" wird zu einem fest vorgegebenen Zeitpunkt ausgeführt.
  • Nach der "finalen Migration" werden keine weiteren Migrationsläufe ausgeführt.
  • Die "finale Migration" versetzt die Quellinstanz in den Wartungsmodus, sodass diese nicht weiter verwendet werden kann und keine Änderungen mehr möglich sind.
  • Nach der "finalen Migration" kann ein FQDN-Change ausgeführt werden, sodass die Zielinstanz anschließend unter der FQDN der Quellinstanz erreichbar ist.

Zeitpunkt der finalen Migration

Die "finale Migration" wird zum konfigurierten Zeitpunkt ausgeführt. Sollte kein Zeitpunkt konfiguriert sein, wird auch keine "finale Migration" ausgeführt. Liegt der konfigurierte Zeitpunkt in der Vergangenheit, wird keine weitere Migration mehr ausgeführt. Sollte es vorkommen, dass zum konfigurierten Zeitpunkt bereits eine "delta Migration" ausgeführt wird, wartet die "finale Migration" bis die "delta Migration" abgeschlossen ist. Anschließend wird die "finale Migration" ausgeführt.

Wartungsmodus in der Quellinstanz

Zu Beginn der "finalen Migration" wird die Quellinstanz in den Wartungsmodus versetzt. Dadurch ist die Weboberfläche der Quellinstanz nicht mehr erreichbar und stattdessen wird eine Webseite mit einer entsprechenden Nachricht angezeigt. Diese Nachricht kann konfiguriert werden.

Die Aktivierung des Wartungsmodus dient dazu, dass keine weiteren Änderungen in der Quellinstanz durchgeführt werden können. Dies soll sicherstellen, dass die Daten der Zielinstanz nach der "finalen Migration" denen der Quellinstanz entsprechen.

Ist die "finale Migration" erfolgreich, bleibt der Wartungsmodus in der Quellinstanz aktiviert und die Zielinstanz kann verwendet werden. Sollte die "finale Migration" jedoch mit einem Fehler beendet werden, wird der Wartungsmodus in der Quellinstanz wieder deaktiviert, damit das Arbeiten in der Quellinstanz weiter möglich ist. In diesem Fall muss ein neuer Zeitpunkt für die finale Migration konfiguriert werden.

Übernahme der FQDN der Quellinstanz

Bei der "finalen Migration" kann die FQDN der Quellinstanz in die Zielinstanz übernommen werden. Diese dient dazu, dass nach der erfolgreichen Migration die Arbeit mit den Dogus unter derselben FQDN (nun auf der Zielinstanz) fortgeführt werden kann. Der zugehörige DNS-Eintrag muss in diesem Fall auf die IP-Adresse der Zielinstanz verweisen.

Migration ohne Übernahme der FQDN der Quellinstanz

Wenn Sie die FQDN der Quellinstanz nicht auf die Zielinstanz übertragen, beachten Sie:

  • Aus dem SCM-Manager ausgecheckten Repositories erwarten ihr Remote noch unter der alten FQDN. Passen Sie diese lokal an die neue FQDN an.
  • Wenn Sie mit dem Whitelabeling Dogu die UI anpassen und die zugehörigen Daten in der Instanz abgelegt sind, konfigurieren Sie die Adresse des Whitelabel-Archivs neu.
  • Passen Sie konfigurierte URLs in Plugins auf die neue Instanz an. Das betrifft z.B. Plugins im SCM-Manager oder Jenkins Dogu.
  • Passen Sie die URLs konfigurierter Baselines im Baseline Dogu an die neue FQDN an.

Konfiguration

Die Konfiguration der "finale Migration" muss im CES-Importer auf der Zielinstanz angegeben werden. Dies wird in der Custom-Resource der CES-Komponente ("Component-CR") des CES-Importer konfiguriert:

  • Editieren Sie die "Component-CR" des CES-Importers:

    kubectl edit component ces-importer -n ecosystem
  • Tragen Sie die gewünschte Konfiguration unter config/migration/... in dem Feld valuesYamlOverwrite ein
  • Beispiel:

    apiVersion: k8s.cloudogu.com/v1
    kind: Component
    metadata:
      name: ces-importer
      namespace: ecosystem
    spec:
      name: ces-importer
      namespace: k8s
      version: 1.0.0
      valuesYamlOverwrite: |
        config:
          migration:
            finalSchedule: "2025-04-03T12:34:56Z"
            changeFQDN: true
            maintenanceModeMessage:
              title: "Migration in progess."
              text: "The migration of your instance is in progress."
  • Speichern Sie die Änderungen an der Component-CR
  • Starten Sie den CES-Importer neu:

    kubectl rollout restart deployment/ces-importer -n ecosystem

Zeitpunkt konfigurieren

Geben Sie den Zeitpunkt, zu dem die "finale Migration" gestartet werden soll, unter config/migration/finalSchedule an. Die Angabe erfolgt als Zeitstempel im RFC-3339 Format. Zum Beispiel 2025-04-03T12:34:56Z. Dies entspricht 34 Minuten und 56 Sekunden nach der 12. Stunde des 4. April 2025 in UTC.

Übernahme der FQDN der Quellinstanz konfigurieren

Wenn die FQDN der Quellinstanz in die Zielinstanz übernommen werden soll, geben Sie dies unter config/migration/changeFQDN als true an.

Hinweis: Wenn die FQDN übernommen wird, muss der zugehörige DNS-Eintrag entsprechend angepasst werden, dass dieser auf die IP-Adresse der Zielinstanz verweist.

Inhalt der Nachricht im Wartungsmodus konfigurieren

Bei der "finalen Migration" wird der Wartungsmodus in der Quellinstanz aktiviert. Bei aktiviertem Wartungsmodus wird in der Quellinstanz eine entsprechende Nachricht angezeigt. Titel und Text dieser Nachricht konfigurieren Sie unter config/migration/maintenanceModeMessage/title bzw. config/migration/maintenanceModeMessage/text.