Lineamientos de escalabilidad del controlador de configuración

En esta página, se proporcionan recomendaciones para ayudarte a planificar la arquitectura de administración de configuración en instancias del controlador de configuración y a mantener la creación y la administración de recursos de Google Cloud dentro de los objetivos de nivel de servicio (SLO).

Objetivos de escalabilidad

Los objetivos de escalabilidad del controlador de configuración son grupos de recursos que prueba Google y con el uso del Sincronizador de configuración de GitOps. Puedes usar estos objetivos para planificar la arquitectura de Config Management.

Estos objetivos no son límites estrictos. Estirar la cantidad de un tipo de recurso no necesariamente hará que la instancia del controlador de configuración esté disponible, pero podría reducir la cantidad total de otros tipos de recursos en la misma instancia de controlador de configuración que puedes implementar.

Las tablas de esta página se incluyen como referencia y no son exhaustivas.

Espacio de nombres único

En el siguiente ejemplo, se muestra una instancia del controlador de configuración 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

SQLInstance

450

SQLDatabase

2,250

SQLUser

2,500

StorageBucket

5,000

ContainerCluster

50

ContainerNodepool

200

IAMServiceAccount

2,500

IAMPartialPolicy

7,500

Varios espacios de nombres

En el siguiente ejemplo, se muestra una instancia del controlador de configuración 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

SQLInstance

9

SQLDatabase 45
SQLUser 45
StorageBucket 100
ContainerCluster 1
ContainerNodepool 4
IAMServiceAccount 50
IAMPartialPolicy 150

Espacios de nombres de Config Connector

El controlador de configuración usa el modo de espacio de nombres de Config Connector de forma predeterminada. En las siguientes tablas, se muestra un ejemplo de la cantidad de espacios de nombres de Config Connector que puedes tener en una sola instancia de Config Connector.

--cluster-ipv4-cidr-block

Cantidad de nodos

Cantidad de espacios de nombres de Config Connector

/18

64

600

/19

32

300

/20 (opción predeterminada y recomendada)

16

120

/21

8

60

Verifica los objetivos de escalabilidad

Puedes usar los siguientes recursos para determinar si alcanzaste los objetivos de escalabilidad.

Cuotas de la API de Google Cloud

Puedes ver las cuotas de la API de Google Cloud en la consola de Google Cloud. Cuando algunas cuotas estén cerca de sus límites, te recomendamos fragmentar la cuota de API por proyectos de Google Cloud. Para obtener más información sobre la supervisión y las alertas de las métricas de cuota, consulta Supervisa y alerta sobre las métricas de cuota.

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 Fragmentar por espacio de nombres.

Cómo escalar verticalmente el controlador de configuración

Si alcanzaste los objetivos de escalabilidad, deberías considerar escalar aún más tus instancias del controlador de configuración. En esta sección, se describen diferentes métodos que puedes usar para escalar verticalmente tus instancias del controlador de configuración.

Fragmentar por espacio de nombres

Si llegas a 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 de operador, lo que permite que Config Connector administre tus recursos a gran escala. Si usas una instancia de Config Connector para administrar varios proyectos de Google Cloud, puedes usar un espacio de nombres de Config Connector para administrar cada proyecto de Google Cloud.

Fragmentar la cuota de la API por proyectos de Google Cloud

Si alcanzas un objetivo de escalabilidad debido a que alcanzas las cuotas de la API de Google Cloud, puedes vincular diferentes cuentas de servicio de IAM que pertenecen a diferentes proyectos de Google Cloud a espacios de nombres distintos en los que Config Connector se instala en modo con espacio de nombres. Luego, puedes dividir tus recursos en proyectos diferentes.

Fragmenta 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 del controlador de configuración. Con más de una instancia del controlador de configuración, puedes fragmentar la administración de la configuración de los recursos, por ejemplo, según diferentes entornos de desarrollo, equipos de aplicaciones o directorios de GitOps dentro de tu organización.

Otras consideraciones de escalabilidad

Cuotas de las APIs de Google Cloud

Si encuentras errores que indican que superaste 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 para el mismo extremo de API debido a la estrategia de conciliación en Config Connector.

Para resolver este problema, puedes fragmentar la cuota de API por proyecto de Google Cloud o solicitar un límite de cuota más alto.

Limitaciones de GKE

Dado que el controlador de configuración se basa en GKE, debes tener en cuenta algunas limitaciones de GKE. En las siguientes secciones, se abordan consideraciones específicas relacionadas con el controlador de configuración. Si quieres 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 cuentas de servicio de Kubernetes

La cantidad de cuentas de servicio de Kubernetes (KSA) creadas en un solo clúster de GKE no debe ser superior a 3,000, ya que es posible que encuentres un problema de falla del Pod de 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 del controlador de configuración 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?