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 o se devi modificare una configurazione del cluster non modificabile.
In questa pagina vengono utilizzati i seguenti termini:
- 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 a.
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 origine contemporaneamente.
Passaggi di migrazione per vari scenari
Esegui la migrazione di tutte le risorse
Per eseguire la migrazione di tutte le risorse, segui questi passaggi:
Crea il cluster di destinazione.
Interrompi il push delle modifiche alla fonte attendibile da cui è configurato il cluster di origine per la sincronizzazione. Config Sync deve continuare a eseguire la sincronizzazione dalla fonte attendibile. Devi interrompere solo le modifiche da cui il cluster di origine esegue la sincronizzazione.
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, potresti doverle analizzare 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. In genere, questi errori possono essere ignorati. Tuttavia, per la maggior parte degli errori, le cause principali devono essere individuate e corrette prima di tentare la migrazione.
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.
Utilizza il comando
nomos statusper assicurarti che il cluster di destinazione abbia sincronizzato tutte le risorse dalla fonte attendibile.Una volta sincronizzate le risorse, rimuovi RootSync o RepoSync dal cluster di origine.
Una volta eseguita la migrazione di ogni fonte attendibile, elimina il cluster Config Controller di origine.
Esegui la migrazione di alcune risorse
Per eseguire la migrazione di alcune risorse, segui questi passaggi:
Completa i passaggi da 1 a 6 della sezione precedente Esegui la migrazione di tutte le risorse.
Aggiungi l'annotazione
cnrm.cloud.google.com/deletion-policy: abandonalle risorse di cui deve essere eseguita la migrazione al cluster di destinazione. Questa annotazione impedisce a Config Connector di eliminare le risorse sottostanti quando la risorsa Config Connector viene eliminata dal cluster Config Controller.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 Config Sync.
Sposta queste risorse in una fonte attendibile diversa o in una cartella diversa all'interno della stessa fonte attendibile.
Configura il cluster di destinazione in modo che esegua 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
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 Config Sync e poi 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 in modo esplicito, non è necessario specificare resourceID per l'acquisizione delle 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, gli resourceID devono essere aggiunti alla fonte attendibile prima di tentare di acquisire le 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 attivarlo 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 apportare 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 in modo proattivo 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. Puoi farlo eliminando il cluster di origine o eliminando 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 apportare modifiche alle risorse di Config Connector finché il lease non è stato acquisito dal cluster di destinazione.
Passaggi successivi
- Risolvi i problemi di Config Controller.
- Esegui il failover manuale a una seconda istanza di Config Controller.
- Gestisci le risorse con il campo
resourceID. - Interrompi e riprendi la sincronizzazione delle configurazioni.