En esta página, se muestra cómo migrar recursos de Config Connector de un clúster del controlador de configuración a otro. Es posible que debas migrar un recurso si el clúster principal del controlador de configuración falla y debe reemplazarse, o si necesitas cambiar una configuración de clúster inmutable.
En esta página, se usa la siguiente terminología:
- Clúster de origen: el clúster que contiene los recursos de Config Connector que necesitas migrar.
- Clúster de destino: el clúster al que migrarás los recursos.
Recomendaciones
- Antes de realizar cambios en la producción, completa estos pasos en un entorno de pruebas.
- Si necesitas migrar varios clústeres del controlador de configuración, migra cada uno por separado y comienza con el clúster menos crítico.
- Si el clúster del Sincronizador de configuración se sincroniza desde más de una fuente de información, migra todos los recursos de cada fuente a la vez.
Pasos para la migración en varias situaciones
Migra todos los recursos
Para migrar todos los recursos, completa los siguientes pasos:
Crea el clúster de destino.
Deja de enviar cambios a la fuente de información desde la que se configura el clúster de origen para la sincronización. El Sincronizador de configuración debe seguir sincronizándose desde la fuente de información. Solo se deben detener los cambios desde los que se sincroniza el clúster de origen.
Asegúrate de que los cambios recientes en la fuente de información se hayan sincronizado en el clúster y de que todos los recursos estén actualizados en el clúster de origen.
Si hay errores en algunos recursos, es posible que debas analizarlos de forma individual. Si un recurso aún no se creó debido a un error, se creará más tarde con el Config Connector que se ejecuta en el clúster de destino. Por lo general, estos errores se pueden ignorar. Sin embargo, para la mayoría de los errores, se deben encontrar y corregir las causas principales antes de intentar la migración.
Configura el Sincronizador de configuración en el clúster de destino para leer desde la misma fuente de información desde la que se configura el clúster de origen. Si hay varias sincronizaciones configuradas para sincronizarse desde más de una fuente de información, hazlo en cada sincronización.
Usa el comando
nomos status
para asegurarte de que el clúster de destino haya sincronizado todos los recursos de la fuente de información.Una vez que los recursos estén sincronizados, quita el RootSync o RepoSync del clúster de origen.
Una vez que se haya migrado cada fuente de información, borra el clúster del controlador de configuración de origen.
Migra algunos recursos
Para migrar algunos recursos, completa los siguientes pasos:
Completa los pasos del 1 al 6 de la sección Migra todos los recursos anterior.
Anota los recursos que se deben migrar al clúster de destino con la anotación
cnrm.cloud.google.com/deletion-policy: abandon
. Esta anotación evita que Config Connector borre los recursos subyacentes cuando el recurso de Config Connector se borra del clúster del controlador de configuración.Borra los recursos que se marcaron como abandonados del clúster de origen. Esta eliminación solo funciona si estos recursos se quitan de la fuente de información también antes de reanudar el Sincronizador de configuración.
Mueve estos recursos a una fuente de confianza diferente o a una carpeta diferente dentro de la misma fuente de confianza.
Configura el clúster de destino para sincronizar desde la ubicación a la que trasladaste los recursos. El clúster de destino ahora puede adquirir estos recursos y comenzar a administrarlos.
Migra recursos individuales
Cuando no se puede borrar un clúster del controlador de configuración (por ejemplo, cuando solo se migra un subconjunto de recursos a un clúster diferente), puedes borrar recursos individuales. Para borrar recursos individuales, inhabilita el Sincronizador de configuración y, luego, establece la anotación cnrm.cloud.google.com/deletion-policy: abandon
en los recursos individuales que necesitas borrar.
Migra recursos que tienen un resourceID
generado por el servicio
En el caso de los recursos en los que no se haya proporcionado el campo resourceID
de forma explícita, no es necesario especificar el resourceID
para la adquisición de recursos mediante otra instancia de Config Connector. Sin embargo, hay recursos que tienen un ID de recurso generado por el servicio que necesitan pasos adicionales. Aunque resourceID
es generado por el servicio, debe proporcionarse para adquirir estos recursos desde otra instancia de Config Connector. Para estos recursos, los resourceID
deben agregarse a la fuente
de información antes de intentar adquirir recursos del clúster de destino.
Migra recursos con la política de prevención de conflictos
De forma predeterminada, la política de prevención de conflictos está desactivada para los recursos. Para habilitarla en un recurso, configura la siguiente anotación:
cnrm.cloud.google.com/management-conflict-prevention-policy: "resource"
Una vez configurado, Config Connector debe adquirir una asignación de tiempo en el recurso subyacente antes de realizar cualquier cambio en él. Esto significa que el clúster de destino no puede adquirir la asignación de tiempo de inmediato, ya que Config Connector mantiene la asignación de tiempo en el clúster de origen. La asignación de tiempo se otorga durante 40 minutos. Sin embargo, después de 20 minutos, Config Connector intenta renovar la asignación de tiempo de forma proactiva. Debido a este comportamiento, si Config Connector en el clúster de origen está en buen estado y en ejecución, el clúster de destino no puede adquirir la asignación de tiempo. El clúster de origen debe liberar su asignación de tiempo antes de que el clúster de destino pueda adquirirla. Esto se puede lograr si borras el clúster de origen o el recurso en el clúster de origen.
Una vez que el clúster de origen haya liberado la asignación de tiempo, el clúster de destino puede adquirirla. El clúster de destino puede adquirir la asignación de tiempo después de 40 minutos como máximo y puede comenzar a administrar los recursos. No se deben realizar cambios en los recursos de Config Connector hasta que el clúster de destino haya adquirido la asignación de tiempo.
¿Qué sigue?
- Soluciona problemas de Config Controller
- Conmutación por error manual a una segunda instancia de Config Controller.
- Administra recursos con el campo
resourceID
. - Detén y reanuda la sincronización de los archivos de configuración.