En esta página, se proporcionan recomendaciones para ayudarte a planificar tu arquitectura de administración de configuración en instancias de Config Controller y mantener la creación y administración de recursos dentro de los objetivos de nivel de servicio (SLO). Google Cloud
Esta página está destinada a administradores, arquitectos y operadores que administran el ciclo de vida de la infraestructura tecnológica subyacente y planifican las necesidades de capacidad e infraestructura. Para obtener más información sobre los roles comunes y las tareas de ejemplo a las que hacemos referencia en Google Cloud el contenido de, consulta Roles y tareas comunes del usuario de GKE.
Usa el modo con espacio de nombres
Recomendamos usar Config Connector en modo con espacio de nombres porque puede ser más fácil administrar grandes cantidades de recursos. Puedes configurar cada espacio de nombres para que corresponda a un solo espacio de nombres, lo que puede ayudar a administrar 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. Config Connector y Sincronizador de configuración admiten el modo con espacio de nombres, lo que permite asignar cada espacio de nombres a un solo Google Cloud proyecto.
Objetivos de escalabilidad
En la siguiente tabla, se representan los valores que probamos con regularidad. Sabemos que Config Connector puede controlar cantidades más grandes. Demostramos que se pueden administrar 30,000 recursos en un solo espacio de nombres. Sin embargo, se necesita un ajuste para que esto funcione. Te recomendamos que revises el modo con espacio de nombres para obtener 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 Sincronizador de configuración. Puedes usar estos objetivos para planificar tu arquitectura de administración de configuración.
Estos objetivos no son límites estrictos. Si aumentas la cantidad de un tipo de recurso, no necesariamente hará que la instancia de Config Controller no esté disponible, pero podría reducir la cantidad total de otros tipos de recursos en la misma instancia de Config Controller que puedes implementar.
Las tablas de esta página están destinadas a ser referencias y no son exhaustivas.
Espacio de nombres único
En el siguiente ejemplo, se muestra una instancia de Config Controller con un espacio de nombres de Config Connector en el clúster. Config Connector puede crear y administrar la siguiente cantidad de recursos en ese espacio de nombres:
Tipo de recurso |
Límite sugerido |
|
450 |
|
2,250 |
|
2,500 |
|
5,000 |
|
50 |
|
200 |
|
2,500 |
|
7,500 |
Múltiples 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 administrar la siguiente cantidad 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 la siguiente tabla, se muestra un ejemplo de la cantidad de espacios de nombres de Config Connector que puedes tener en una sola instancia de Config Connector.
|
Cantidad de nodos |
Cantidad de espacios de nombres de Config Connector |
/18 |
64 |
600 |
/19 |
32 |
300 |
/20 (predeterminado y recomendado) |
16 |
120 |
/21 |
8 |
60 |
Verifica los objetivos de escalabilidad
Puedes usar los siguientes recursos para determinar si alcanzaste los objetivos de escalabilidad.
Google Cloud Cuotas de API
Puedes ver tus Google Cloud cuotas de API en la Google Cloud consola. Cuando algunas cuotas estén cerca de sus límites, considera fragmentar la cuota de la API por Google Cloud proyectos. Para obtener más información sobre la supervisión y las alertas de las métricas de cuotas, consulta Configura alertas y supervisión de cuotas.
Uso de memoria de Config Connector
Puedes ver el uso de memoria de Config Connector en el panel de supervisión de GKE. Cuando el uso de memoria de Config Connector esté cerca de su límite, considera la fragmentación por espacio de nombres.
Escala verticalmente Config Controller
Si alcanzaste los objetivos de escalabilidad, deberías considerar escalar verticalmente aún más tus instancias de Config Controller. En esta sección, se describen los diferentes métodos que puedes usar para escalar verticalmente tus instancias de Config Controller.
Fragmentació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 administrar recursos en tus espacios de nombres.
Cada espacio de nombres usa sus propias cuentas de servicio y cargas de trabajo del operador, lo que permite que Config Connector administre tus recursos a gran escala. Si usas una instancia de Config Connector para administrar varios Google Cloud proyectos, puedes usar un espacio de nombres de Config Connector para administrar cada Google Cloud proyecto.
Fragmenta la cuota de la API por Google Cloud proyectos
Si alcanzas un objetivo de escalabilidad debido a que alcanzas las Google Cloud cuotas de la API, puedes vincular diferentes cuentas de servicio de IAM que pertenecen a diferentes Google Cloud proyectos a diferentes espacios de nombres en los que Config Connector está instalado en modo con espacio de nombres. Luego, puedes dividir tus recursos en diferentes proyectos.
Fragmentació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. Con más de una instancia de Config Controller, puedes fragmentar la administración de la configuración de recursos, por ejemplo, por diferentes entornos de desarrollo, equipos de aplicaciones o directorios de GitOps dentro de tu organización.
Otras consideraciones de escalabilidad
Google Cloud Cuotas de API
Si recibiste errores que indican que excediste 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. Esos recursos pueden generar demasiadas solicitudes a la API a el mismo extremo de API debido a la estrategia de conciliación en Config Connector.
Para resolver este problema, puedes fragmentar la cuota de la API por proyecto o solicitar un ajuste de cuota. Google Cloud
Limitaciones de GKE
Dado que Config Controller se basa en GKE, existen limitaciones de GKE que debes tener en cuenta. En las siguientes secciones, se abarcan 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 de GKE grandes, consulta Planifica para clústeres de GKE grandes.
Límite de cuenta de servicio de Kubernetes
La cantidad de
cuentas de servicio de Kubernetes (KSA)
creadas en un solo clúster de GKE no debe exceder las 3,000, ya que podrías
tener un problema de falla del Pod
gke-metadata-server.
Cada vez que agregas 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 la cantidad de espacios de nombres de Config Connector a menos de 500 por clúster.
Cada vez que agregas un espacio de nombres de Config Connector, también se crea un pod de controlador.
¿Qué sigue?
- Obtén información para fragmentar Config Controller
- Obtén ayuda para solucionar problemas de Config Controller