En esta página se ofrecen recomendaciones para ayudarte a planificar la arquitectura de gestión de la configuración en instancias de Config Controller y a mantener la creación y la gestión de recursos dentro de los objetivos de nivel de servicio (SLOs). Google Cloud
Esta página está dirigida a administradores, arquitectos y operadores que gestionan el ciclo de vida de la infraestructura tecnológica subyacente y planifican la capacidad y las necesidades de infraestructura. Para obtener más información sobre los roles habituales y las tareas de ejemplo a las que hacemos referencia en el contenido de Google Cloud , consulta Roles y tareas de usuario habituales de GKE.
Usar el modo con espacio de nombres
Recomendamos usar Config Connector en modo con espacio de nombres porque puede ser más fácil gestionar un gran número de recursos. Puedes configurar cada espacio de nombres para que corresponda a un único espacio de nombres, lo que puede ayudarte a gestionar las cuotas y las configuraciones, ya que los recursos tienen cuotas de lectura y escritura por proyecto. A partir de la versión 1.119.0, puedes aumentar los límites de frecuencia de conciliación por espacio de nombres. Si aumentas los límites de frecuencia, puedes permitir la conciliación de más de 10.000 recursos por espacio de nombres en un intervalo de 10 minutos. Tanto Config Connector como Config Sync admiten el modo de espacio de nombres, que permite asignar cada espacio de nombres a un solo Google Cloud proyecto.
Objetivos de escalabilidad
En la siguiente tabla se muestran los valores que probamos con regularidad. Sabemos que Config Connector puede gestionar números más grandes. Hemos demostrado que se pueden gestionar 30.000 recursos en un solo espacio de nombres. Sin embargo, es necesario hacer algunos ajustes para que funcione. Te recomendamos que consultes el modo Espacio de nombres para ver sugerencias sobre estos cambios.
Los objetivos de escalabilidad de Config Controller son grupos de recursos probados por Google y con el uso de GitOps de Config Sync. Puedes usar estos objetivos para planificar tu arquitectura de gestión de configuraciones.
Estos objetivos no son límites estrictos. Ampliar la cantidad de un tipo de recurso no hará que la instancia de Config Controller deje de estar disponible, pero podría reducir la cantidad total de otros tipos de recursos de la misma instancia de Config Controller que puedes implementar.
Las tablas de esta página se proporcionan como referencia y no son exhaustivas.
Espacio de nombres único
En el ejemplo siguiente se muestra una instancia de Config Controller con un espacio de nombres de Config Connector en el clúster. Config Connector puede crear y gestionar el siguiente número de recursos en ese espacio de nombres:
Tipo de recurso |
Límite sugerido |
|
450 |
|
2250 |
|
2500 |
|
5000 |
|
50 |
|
200 |
|
2500 |
|
7500 |
Varios espacios de nombres
En el siguiente ejemplo se muestra una instancia de Config Controller con 50 espacios de nombres de Config Connector en un clúster. Config Connector puede crear y gestionar el siguiente número de recursos en cada espacio de nombres:
Tipo de recurso |
Límite sugerido |
|
9 |
SQLDatabase |
45 |
SQLUser |
45 |
StorageBucket |
100 |
ContainerCluster |
1 |
ContainerNodepool |
4 |
IAMServiceAccount |
50 |
IAMPartialPolicy |
150 |
Espacios de nombres de Config Connector
Config Controller usa el modo con espacio de nombres de Config Connector de forma predeterminada. En las siguientes tablas se muestra un ejemplo del número de espacios de nombres de Config Connector que puedes tener en una sola instancia de Config Connector.
|
Número de nodos |
Número de espacios de nombres de Config Connector |
/18 |
64 |
600 |
/19 |
32 |
300 |
/20 (valor predeterminado y recomendado) |
16 |
120 |
/21 |
8 |
60 |
Comprobar los objetivos de escalabilidad
Puedes usar los siguientes recursos para determinar si has alcanzado los objetivos de escalabilidad.
Google Cloud Cuotas de APIs
Puedes consultar tus Google Cloud cuotas de API en la Google Cloud consola. Cuando algunas cuotas estén cerca de sus límites, considera la posibilidad de fragmentar la cuota de la API por proyectos Google Cloud . Para obtener más información sobre cómo monitorizar métricas de cuotas y recibir alertas sobre ellas, consulte Configurar alertas y monitorización de cuotas.
Uso de memoria de Config Connector
Puedes consultar el uso de memoria de Config Connector en el panel de monitorización de GKE. Cuando el uso de memoria de Config Connector se acerque a su límite, considera la posibilidad de fragmentar por espacio de nombres.
Escalar Config Controller
Si has alcanzado los objetivos de escalabilidad, deberías plantearte aumentar aún más las instancias de Config Controller. En esta sección se describen los diferentes métodos que puedes usar para aumentar la capacidad de tus instancias de Config Controller.
Partición por espacio de nombres
Si alcanzas un objetivo de escalabilidad con un solo espacio de nombres de Config Connector, puedes configurar Config Connector para gestionar recursos en tus espacios de nombres.
Cada espacio de nombres usa sus propias cuentas de servicio y cargas de trabajo de operador, lo que permite a Config Connector gestionar tus recursos a gran escala. Si usas una instancia de Config Connector para gestionar varios proyectos, puedes usar un espacio de nombres de Config Connector para gestionar cada proyecto. Google Cloud Google Cloud
Fragmentar la cuota de la API por Google Cloud proyectos
Si alcanzas un objetivo de escalabilidad debido a que has llegado a las Google Cloud cuotas de la API, puedes asociar diferentes cuentas de servicio de gestión de identidades y accesos que pertenezcan a distintos proyectos Google Cloud a diferentes espacios de nombres en los que Config Connector esté instalado en modo de espacio de nombres. Después, puedes dividir tus recursos en diferentes proyectos.
Partición por instancias de Config Connector
Si alcanzas un objetivo de escalabilidad con varios espacios de nombres de Config Connector, puedes crear y usar más de una instancia de Config Controller. Si tienes más de una instancia de Config Controller, puedes fragmentar la gestión de la configuración de tus recursos. Por ejemplo, puedes hacerlo por diferentes entornos de desarrollo, equipos de aplicaciones o directorios de GitOps de tu organización.
Otras consideraciones sobre la escalabilidad
Google Cloud Cuotas de APIs
Si has recibido errores que indican que has superado el límite de cuota de la API, es posible que hayas creado demasiados recursos de Config Connector del mismo tipo en el mismo proyecto. Estos recursos pueden generar demasiadas solicitudes a la API en el mismo endpoint de la API debido a la estrategia de conciliación de Config Connector.
Para resolver este problema, puedes fragmentar la cuota de la API por Google Cloud proyecto o solicitar un ajuste de cuota.
Limitaciones de GKE
Como Config Controller se basa en GKE, hay limitaciones de GKE que debes tener en cuenta. En las secciones siguientes se tratan consideraciones específicas relacionadas con Config Controller. Para obtener más información sobre los límites generales y las prácticas recomendadas para clústeres grandes de GKE, consulta Planificar clústeres grandes de GKE.
Límite de cuentas de servicio de Kubernetes
El número de cuentas de servicio de Kubernetes (KSA) creadas en un solo clúster de GKE no debe superar las 3000,ya que podrías tener un gke-metadata-server
problema de fallo de Pod.
Cada vez que añades un espacio de nombres de Config Connector, también se crea una cuenta de servicio de Kubernetes.
Problemas de rendimiento del plano de control de GKE
El plano de control del clúster de GKE puede tener problemas de rendimiento si una instancia de Config Controller tiene demasiados espacios de nombres de Config Connector. Debes limitar el número de espacios de nombres de Config Connector a menos de 500 por clúster.
Cada vez que añades un espacio de nombres de Config Connector, también se crea un pod de controlador.
Siguientes pasos
- Consulta cómo fragmentar Config Controller.
- Obtener ayuda para solucionar problemas de Config Controller