Config Controller-Ressourcen migrieren

Auf dieser Seite erfahren Sie, wie Sie Config Connector-Ressourcen von einem Config Controller-Cluster zu einem anderen migrieren. Möglicherweise müssen Sie eine Ressource migrieren, wenn der primäre Config Controller-Cluster ausfällt und ersetzt werden muss, oder Sie müssen eine unveränderliche Clusterkonfiguration ändern.

Auf dieser Seite wird die folgende Terminologie verwendet:

  • Quellcluster: Der Cluster, der die Config Connector-Ressourcen enthält, die Sie migrieren müssen.
  • Zielcluster: Der Cluster, zu dem Sie Ressourcen migrieren.

Empfehlungen

  • Bevor Sie Änderungen in der Produktionsumgebung vornehmen, führen Sie diese Schritte in einer Testumgebung aus.
  • Wenn Sie mehrere Config Controller-Cluster migrieren müssen, migrieren Sie jeden einzeln, beginnend mit dem am wenigsten kritischen Cluster.
  • Wenn der Config Sync-Cluster aus mehr als einer Source of Truth synchronisiert wird, migrieren Sie alle Ressourcen aus jeder Quelle gleichzeitig.

Migrationsschritte für verschiedene Szenarien

Alle Ressourcen migrieren

So migrieren Sie alle Ressourcen:

  1. Erstellen Sie den Zielcluster.

  2. Übertragen Sie keine Änderungen mehr an die Quelle, von der aus der Quellcluster für die Synchronisierung konfiguriert ist. Config Sync sollte weiterhin mit der „Source of Truth“ synchronisiert werden. Nur Änderungen, aus denen der Quellcluster synchronisiert wird, sollten angehalten werden.

  3. Achten Sie darauf, dass alle kürzlich vorgenommenen Änderungen an der „Source of Truth“ im Cluster synchronisiert wurden und alle Ressourcen im Quellcluster auf dem neuesten Stand sind.

    Wenn bei einigen Ressourcen Fehler auftreten, müssen Sie die Ressourcen möglicherweise einzeln analysieren. Wenn eine Ressource aufgrund eines Fehlers noch nicht erstellt wurde, wird sie später mithilfe des Config Connectors erstellt, der im Zielcluster ausgeführt wird. Diese Fehler können in der Regel ignoriert werden. Bei den meisten Fehlern sollten die Ursachen jedoch vor der Migration gefunden und behoben werden.

  4. Richten Sie Config Sync im Zielcluster so ein, dass Daten aus derselben „Source of Truth“ gelesen werden, über die der Quellcluster konfiguriert wird. Wenn mehrere Synchronisierungen für die Synchronisierung von mehr als einer „Source of Truth“ eingerichtet sind, wiederholen Sie sie für jede Synchronisierung.

  5. Prüfen Sie mit dem Befehl nomos status, ob der Zielcluster alle Ressourcen aus der „Source of Truth“ synchronisiert hat.

  6. Sobald die Ressourcen synchronisiert wurden, entfernen Sie RootSync oder RepoSync aus dem Quellcluster.

  7. Nachdem alle Datenquellen migriert wurden, löschen Sie den Config Controller-Quellcluster.

Ressourcen migrieren

So migrieren Sie einige Ressourcen:

  1. Führen Sie die Schritte 1–6 aus dem vorherigen Abschnitt Alle Ressourcen migrieren aus.

  2. Annotieren Sie die Ressourcen, die zum Zielcluster migriert werden sollen, mit der Annotation cnrm.cloud.google.com/deletion-policy: abandon. Diese Annotation verhindert, dass Config Connector die zugrunde liegenden Ressourcen löscht, wenn die Config Connector-Ressource aus dem Config Controller-Cluster gelöscht wird.

  3. Löschen Sie die Ressourcen, die als verworfen markiert wurden, aus dem Quellcluster. Dieser Löschvorgang funktioniert nur, wenn diese Ressourcen auch aus der „Source of Truth“ entfernt werden, bevor Config Sync fortgesetzt wird.

  4. Verschieben Sie diese Ressourcen in eine andere „Source of Truth“ oder einen anderen Ordner innerhalb derselben „Source of Truth“.

  5. Richten Sie den Zielcluster so ein, dass er von dem Ort aus synchronisiert, an den Sie die Ressourcen verschoben haben. Der Zielcluster kann diese Ressourcen jetzt abrufen und mit der Verwaltung beginnen.

Einzelne Ressourcen migrieren

Wenn ein Config Controller-Cluster nicht gelöscht werden kann (z. B. wenn nur eine Teilmenge der Ressourcen in einen anderen Cluster migriert wird), können Sie einzelne Ressourcen löschen. Wenn Sie einzelne Ressourcen löschen möchten, deaktivieren Sie Config Sync und legen Sie dann die Annotation cnrm.cloud.google.com/deletion-policy: abandon für die einzelnen Ressourcen fest, die Sie löschen möchten.

Ressourcen mit einer vom Dienst generierten resourceID migrieren

Bei Ressourcen, für die das Feld resourceID nicht explizit angegeben wurde, muss resourceID nicht für die Ressourcenerfassung durch eine andere Config Connector-Instanz angegeben werden. Es gibt jedoch Ressourcen mit einer vom Dienst generierten Ressourcen-ID, für die zusätzliche Schritte erforderlich sind. Obwohl der resourceID vom Dienst generiert wurde, muss er angegeben werden, um diese Ressourcen von einer anderen Config Connector-Instanz zu erhalten. Für diese Ressourcen sollten die resourceIDs der „Source of Truth“ hinzugefügt werden, bevor versucht wird, Ressourcen aus dem Zielcluster abzurufen.

Ressourcen mithilfe der Richtlinie zur Konfliktvermeidung migrieren

Standardmäßig ist die Richtlinie zur Konfliktvermeidung für Ressourcen deaktiviert. Sie können sie für eine Ressource aktivieren, indem Sie die folgende Annotation festlegen:

cnrm.cloud.google.com/management-conflict-prevention-policy: "resource"

Nach dem Festlegen muss Config Connector eine Freigabe für die zugrunde liegende Ressource erwerben, bevor Änderungen daran vorgenommen werden. Dies bedeutet, dass der Zielcluster die Freigabe nicht sofort übernehmen kann, da die Freigabe von Config Connector im Quellcluster gehalten wird. Die Freigabe wird für 40 Minuten gewährt. Nach 20 Minuten versucht Config Connector jedoch, die Freigabe proaktiv zu erneuern. Aufgrund dieses Verhaltens kann der Zielcluster die Freigabe nicht erhalten, wenn Config Connector im Quellcluster fehlerfrei ist und ausgeführt wird. Der Quellcluster muss seine Freigabe freigeben, bevor der Zielcluster sie abrufen kann. Dies kann entweder durch Löschen des Quellclusters oder durch Löschen der Ressource im Quellcluster erfolgen.

Sobald der Quellcluster die Freigabe freigegeben hat, kann der Zielcluster die Freigabe übernehmen. Der Zielcluster kann die Freigabe nach höchstens 40 Minuten erhalten und mit der Verwaltung der Ressourcen beginnen. Bevor die Freigabe vom Zielcluster übernommen wird, sollten Sie keine Änderungen an den Config Connector-Ressourcen vornehmen.

Nächste Schritte