Configura el límite de frecuencia del administrador de controladores
En esta página, se describe cómo configurar el límite de frecuencia general (límite de frecuencia del bucket de tokens) para el administrador de controladores en Config Connector.
El límite de frecuencia controla cuántas solicitudes realiza Config Connector a la servidor de la API de Kubernetes. Existen dos parámetros de configuración:
La configuración de
qps
(consultas por segundo) determina la tasa promedio a la que Config Connector puede realizar solicitudes al servidor de la API de Kubernetes.El valor
burst
permite más solicitudes que el límiteqps
durante períodos breves. Esto ayuda a Config Connector a reconciliarse rápidamente, incluso durante períodos que requieren más consultas al servidor de la API de Kubernetes, como cuando se aplica un nuevo lote de configuración con GitOps.
Puedes pensar en el algoritmo de "bucket de tokens" para el límite de frecuencia de la siguiente manera: Imagina un bucket de tokens de capacidad burst
que se vuelve a llenar a la tasa de qps
. Cada solicitud requiere un token del bucket. Si el bucket está vacío, las solicitudes se retrasan hasta que los tokens estén disponibles.
Configura el límite de frecuencia para el administrador del controlador con espacio de nombres
Si Config Connector está configurado para ejecutarse
modo con espacio de nombres, puedes
usa el recurso personalizado NamespacedControllerReconciler
para configurar la frecuencia
límite del cliente de Kubernetes del controlador cnrm-controller-manager
en el espacio de nombres designado. Puedes configurar el límite de frecuencia para este controlador en Config Connector versión 1.119 y posteriores.
Crea un archivo llamado
configure-rate-limit.yaml
y copia el siguiente YAML en él:apiVersion: customize.core.cnrm.cloud.google.com/v1alpha1 kind: NamespacedControllerReconciler metadata: name: cnrm-controller-manager # name must not contain the namespace ID suffix namespace: NAMESPACE spec: rateLimit: qps: 80 # the default value is 20 burst: 40 # the default value is 30
Reemplaza
NAMESPACE
por el nombre de tu espacio de nombres.Usa
kubectl apply
para aplicar la configuración del límite de frecuencia al clúster:kubectl apply -f configure-rate-limit.yaml
Ejecuta el siguiente comando para verificar que la configuración se realice de forma correcta:
kubectl get namespacedcontrollerreconciler cnrm-controller-manager -n NAMESPACE -o jsonpath='{.status.healthy}'
El resultado debe mostrar el campo
status.healthy
configurado comotrue
.Ejecuta el siguiente comando para verificar que las marcas
--qps
y--burst
se agreguen al contenedor del administrador del controladorcnrm-controller-manager
:kubectl describe statefulsets -n cnrm-system -l "cnrm.cloud.google.com/scoped-namespace=NAMESPACE"
El resultado debería contener lo siguiente:
Containers: manager: Image: gcr.io/gke-release/cnrm/controller:fd4c42c Port: 23232/TCP Host Port: 0/TCP Command: /configconnector/manager Args: --qps=80 --burst=40 --scoped-namespace=config-control --prometheus-scrape-endpoint=:8888