Planificar la configuración de tu clúster de Google Kubernetes Engine (GKE) antes de instalar el Sincronizador de configuración ayuda a garantizar una sincronización confiable de las políticas y la configuración en todos tus entornos. Tus clústeres deben cumplir con requisitos específicos para el modo de operación del clúster, el registro de la flota, los permisos de Identity and Access Management (IAM), las versiones de la plataforma, la autenticación, las herramientas de redes y la arquitectura de nodos.
Para obtener prácticas recomendadas generales sobre la planificación de tus clústeres de GKE, consulta Acerca de las opciones de configuración del clúster.
Elige un modo de operación de GKE
El Sincronizador de configuración admite clústeres de GKE Autopilot y Standard.
Para ayudarte a tomar una decisión fundamentada sobre qué modo de operación usar, consulta Modos de operación de GKE.
Registra tus clústeres en una flota
El Sincronizador de configuración requiere que tus clústeres estén registrados en una flota.
Si planeas instalar y configurar el Sincronizador de configuración con la consola de Google Cloud , puedes registrar tu clúster al mismo tiempo que instalas el Sincronizador de configuración.
De lo contrario, debes registrar tu clúster en una flota antes de habilitar el Sincronizador de configuración.
Otorga los permisos necesarios
Debido a que el Sincronizador de configuración requiere que los clústeres estén registrados en una flota, es posible que necesites permisos adicionales cuando lo instales.
Para obtener los permisos que
necesitas para registrar clústeres en una flota,
pídele a tu administrador que te otorgue el rol de IAM de
Administrador de flotas (antes, Administrador de GKE Hub) (roles/gkehub.admin) en tu proyecto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Requisitos de recursos con el modo Autopilot
El modo Autopilot de GKE modifica automáticamente las solicitudes de recursos para mantener la estabilidad de las cargas de trabajo. Para comprender cómo planificar esas solicitudes, consulta la documentación de GKE sobre las solicitudes de recursos de Autopilot.
Debido a la forma en que Autopilot modifica las solicitudes de recursos, el Sincronizador de configuración realiza los siguientes ajustes:
- Ajusta los límites de anulación de recursos especificados por el usuario para que coincidan con las solicitudes.
- Aplica anulaciones solo cuando hay una o más solicitudes de recursos superiores al resultado ajustado correspondiente que se declara en la anotación, o cuando hay solicitudes de recursos inferiores a la entrada correspondiente declarada en la anotación.
Plataformas y versiones de GKE compatibles
Para usar el Sincronizador de configuración, tu clúster debe estar en una versión compatible de GKE.
Workload Identity Federation for GKE
Workload Identity Federation for GKE es la forma recomendada de conectarse de forma segura a los servicios de Google Cloud. Workload Identity Federation for GKE está habilitada de forma predeterminada en los clústeres de Autopilot.
Si deseas usar paquetes de flota con el Sincronizador de configuración, se requiere Workload Identity Federation for GKE.
Si instalaste el Sincronizador de configuración en clústeres adjuntos de GKE, no puedes usar Active Directory con la federación de identidades para cargas de trabajo. Esta limitación existe porque el Sincronizador de configuración usa la puerta de enlace de Connect para conectarse a los clústeres conectados de GKE y la puerta de enlace de Connect no admite esta función.
Redes
En la siguiente sección, se enumeran algunos de los cambios que tal vez debas realizar en tu clúster de GKE, según la configuración de red.
Para obtener más información sobre las opciones de redes de GKE, consulta Descripción general de la red.
Clústeres privados
Si usas clústeres de GKE con nodos privados, debes configurar tus clústeres de una de las siguientes maneras para asegurarte de que el Sincronizador de configuración tenga acceso y pueda autenticarse en tu fuente de información:
Configura Cloud NAT para permitir la salida desde nodos de GKE privados. Para obtener más detalles, consulta Ejemplo de configuración de GKE.
Habilita el Acceso privado a Google para conectarte al conjunto de direcciones IP externas que usan los servicios y las APIs de Google.
Clústeres públicos
Si usas clústeres públicos, pero tienes requisitos estrictos de firewall de VPC que bloquean cualquier tráfico innecesario, debes crear reglas de firewall para permitir el siguiente tráfico:
- TCP: Permite la entrada y salida en los puertos 53 y 443.
- UDP: Permite la salida en el puerto 53
Si no incluyes estas reglas, el Sincronizador de configuración no se sincroniza correctamente y
nomos status informa el siguiente error:
Error: KNV2004: unable to sync repo Error in the git-sync container
Cloud Source Repositories con autenticación de la cuenta de servicio predeterminada de Compute Engine
Si usas el Sincronizador de configuración para conectarte a Cloud Source Repositories y Workload Identity Federation for GKE no está habilitada, puedes usar la cuenta de servicio predeterminada de Compute Engine para autenticarte. Debes usar permisos de acceso con permisos de solo lectura para los nodos del clúster.
Puedes agregar el permiso de solo lectura para Cloud Source Repositories si incluyes
cloud-source-repos-ro en la lista --scopes especificada en el momento de la creación del clúster
o si usas el permiso cloud-platform en el momento de la creación del clúster. Por ejemplo:
gcloud container clusters create CLUSTER_NAME --scopes=cloud-platform
Reemplaza CLUSTER_NAME por el nombre del clúster.
No puedes modificar los permisos de acceso luego de crear un grupo de nodos.
Sin embargo, puedes crear un grupo de nodos nuevo con el permiso de acceso adecuado mientras usas el mismo clúster. El permiso gke-default predeterminado no incluye cloud-source-repos-ro.
Nodos de Arm
Sincronizador de configuración solo se puede ejecutar en nodos basados en x86, no en nodos Arm. Sin embargo, si necesitas ejecutar el Sincronizador de configuración en un clúster con varias arquitecturas, realiza la siguiente acción, según el tipo de clúster:
- GKE en AWS o GKE en Azure: Agrega un taint a tus nodos de Arm para evitar programar Pods en tus nodos de Arm sin una tolerancia correspondiente.
- GKE: GKE agrega un taint predeterminado para garantizar que las cargas de trabajo sin la tolerancia correspondiente no se programen allí. No se requiere ninguna acción adicional.
¿Qué sigue?
Instala el Sincronizador de configuración.