Esegui la migrazione delle risorse di Config Controller

Questa pagina mostra come eseguire la migrazione delle risorse di Config Connector da un cluster Config Controller a un altro. Potresti dover eseguire la migrazione di una risorsa se il cluster Config Controller principale si arresta e deve essere sostituito o se devi modificare una configurazione del cluster immutabile.

In questa pagina viene utilizzata la seguente terminologia:

  • Cluster di origine: il cluster che contiene le risorse di Config Connector di cui devi eseguire la migrazione.
  • Cluster di destinazione: il cluster in cui eseguirai la migrazione delle risorse.

Suggerimenti

  • Prima di apportare modifiche in produzione, completa questi passaggi in un ambiente di test.
  • Se devi eseguire la migrazione di più cluster Config Controller, eseguine la migrazione separatamente a partire dal cluster meno critico.
  • Se il cluster Config Sync si sincronizza da più di un'origine attendibile, esegui la migrazione di tutte le risorse di ogni origine contemporaneamente.

Passaggi di migrazione per vari scenari

Esegui la migrazione di tutte le risorse

Per eseguire la migrazione di tutte le risorse, completa i seguenti passaggi:

  1. Crea il cluster di destinazione.

  2. Interrompi il push delle modifiche all'origine dati attendibile da cui è configurato la sincronizzazione del cluster di origine. Config Sync dovrebbe continuare a sincronizzarsi dalla fonte attendibile. Devono essere interrotte solo le modifiche da cui eseguire la sincronizzazione del cluster di origine.

  3. Assicurati che eventuali modifiche recenti all'origine dati siano state sincronizzate nel cluster e che tutte le risorse siano aggiornate nel cluster di origine.

    Se si verificano errori per alcune risorse, potrebbe essere necessario analizzarle singolarmente. Se una risorsa non è stata ancora creata a causa di un errore, viene creata in un secondo momento utilizzando Config Connector in esecuzione nel cluster di destinazione. In genere questi errori possono essere ignorati. Tuttavia, per la maggior parte degli errori, è necessario individuare e risolvere le cause principali prima di tentare la migrazione.

  4. Imposta Config Sync nel cluster di destinazione per leggere dalla stessa fonte attendibile da cui è configurato il cluster di origine. Se sono configurate più sincronizzazioni da più di una fonte attendibile, esegui questa operazione per ogni sincronizzazione.

  5. Utilizza il comando nomos status per assicurarti che il cluster di destinazione abbia sincronizzato tutte le risorse dall'origine attendibile.

  6. Dopo aver sincronizzato le risorse, rimuovi RootSync o RepoSync dal cluster di origine.

  7. Dopo la migrazione di ogni origine attendibile, elimina il cluster sourceConfig Controller.

Esegui la migrazione di alcune risorse

Per eseguire la migrazione di alcune risorse, completa i seguenti passaggi:

  1. Completa i passaggi da 1 a 6 della sezione precedente Esegui la migrazione di tutte le risorse.

  2. Annota le risorse di cui è necessario eseguire la migrazione nel cluster di destinazione con l'annotazione cnrm.cloud.google.com/deletion-policy: abandon. Questa annotazione impedisce a Config Connector di eliminare le risorse sottostanti quando la risorsa Config Connector viene eliminata dal cluster Config Controller.

  3. Elimina dal cluster di origine le risorse che sono state contrassegnate come abbandonate. Questa eliminazione funziona solo se queste risorse vengono rimosse anche dalla fonte attendibile prima di riprendere Config Sync.

  4. Spostare queste risorse in un'altra origine di riferimento o in una cartella diversa all'interno della stessa origine di riferimento.

  5. Configura il cluster di destinazione per la sincronizzazione dalla località in cui hai spostato le risorse. Il cluster di destinazione può ora acquisire queste risorse e iniziare a gestirle.

Esegui la migrazione di singole risorse

Se non è possibile eliminare un cluster Config Controller (ad esempio, quando esegui solo la migrazione di un sottoinsieme di risorse a un cluster diverso), puoi eliminare le singole risorse. Per eliminare singole risorse, disabilita Config Sync e imposta l'annotazione cnrm.cloud.google.com/deletion-policy: abandon sulle singole risorse da eliminare.

Esegui la migrazione delle risorse che hanno un servizio generato resourceID

Per le risorse in cui il campo resourceID non è stato fornito esplicitamente, non è necessario specificare resourceID per l'acquisizione di risorse da parte di un'altra istanza di Config Connector. Tuttavia, sono presenti risorse con un ID risorsa generato dal servizio che richiedono passaggi aggiuntivi. Anche se resourceID è generato dal servizio, deve essere fornito per acquisire queste risorse da un'altra istanza di Config Connector. Per queste risorse, gli resourceID devono essere aggiunti all'origine attendibile prima di tentare di acquisire risorse dal cluster di destinazione.

Esegui la migrazione delle risorse utilizzando il criterio di prevenzione dei conflitti

Per impostazione predefinita, il criterio di prevenzione dei conflitti è disattivato per le risorse. Puoi abilitarlo su una risorsa impostando la seguente annotazione:

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

Una volta impostato, Config Connector deve acquisire un lease della risorsa sottostante prima di apportare modifiche. Ciò significa che il cluster di destinazione non è in grado di acquisire immediatamente il lease poiché quest'ultimo è mantenuto da Config Connector nel cluster di origine. Il lease viene concesso per 40 minuti. Dopo 20 minuti, Config Connector prova proattivamente a rinnovare il lease. A causa di questo comportamento, se Config Connector nel cluster di origine è integro e in esecuzione, il cluster di destinazione non è in grado di acquisire il lease. Il cluster di origine deve rilasciare il lease prima che il cluster di destinazione possa acquisirlo. A questo scopo, puoi eliminare il cluster di origine o la risorsa nel cluster di origine.

Dopo che il cluster di origine ha rilasciato il lease, il cluster di destinazione è in grado di acquisire il lease. Il cluster di destinazione può acquisire il lease dopo al massimo 40 minuti e può iniziare a gestire le risorse. Non apportare modifiche alle risorse di Config Connector finché il lease non viene acquisito dal cluster di destinazione.

Passaggi successivi