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 non funziona e deve essere sostituito oppure se devi modificare una configurazione del cluster immutabile.

Questa pagina utilizza la seguente terminologia:

  • Cluster di origine: il cluster che contiene le risorse Config Connector di cui devi eseguire la migrazione.
  • Cluster di destinazione: il cluster a cui verranno migrati i dati.

Consigli

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

Passaggi per la 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 attendibile da cui è configurato il cluster di origine per la sincronizzazione. Config Sync deve continuare a sincronizzare i dati dalla fonte attendibile. Devono essere interrotte solo le modifiche che il cluster di origine sincronizza da.

  3. Assicurati che tutte le modifiche recenti alla fonte attendibile 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 è ancora stata creata a causa di un errore, viene creata in un secondo momento utilizzando Config Connector in esecuzione nel cluster di destinazione. Questi errori di solito possono essere ignorati. Tuttavia, per la maggior parte degli errori, le cause principali devono essere trovate e corrette prima di tentare la migrazione.

  4. Configura Config Sync nel cluster di destinazione in modo che legga dalla stessa fonte attendibile da cui è configurato il cluster di origine. Se sono configurate più sincronizzazioni per la sincronizzazione 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. Una volta sincronizzate le risorse, rimuovi RootSync o RepoSync dal cluster di origine.

  7. Una volta eseguita la migrazione di ogni origine attendibile, elimina il cluster Config Controller.

Eseguire 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 eseguire la migrazione al 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 le risorse contrassegnate come abbandonate dal cluster di origine. Questa eliminazione funziona solo se queste risorse vengono rimosse anche dalla fonte attendibile prima di riprendere laConfig Synce.

  4. Sposta queste risorse in un'altra fonte attendibile o in un'altra cartella all'interno della stessa fonte attendibile.

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

Eseguire la migrazione di singole risorse

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

Esegui la migrazione delle risorse con un resourceID generato dal servizio

Per le risorse in cui il campo resourceID non è stato fornito esplicitamente, il campo resourceID non deve essere specificato per l'acquisizione di risorse da parte di un'altra istanza di Config Connector. Tuttavia, esistono 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, resourceID devono essere aggiunti all'origine di riferimento prima di tentare di acquisire risorse dal cluster di destinazione.

Eseguire 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 sulla risorsa sottostante prima di apportarvi modifiche. Ciò significa che il cluster di destinazione non è in grado di acquisire immediatamente il lease perché è detenuto da Config Connector nel cluster di origine. Il lease viene concesso per 40 minuti. Tuttavia, dopo 20 minuti Config Connector tenta proattivamente di 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. Questa operazione può essere eseguita eliminando il cluster di origine o la risorsa nel cluster di origine.

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

Passaggi successivi