Ratenbegrenzung für Controller-Manager konfigurieren


Auf dieser Seite wird beschrieben, wie Sie die Gesamtratenbegrenzung (Ratelimit für Token-Buckets) für den Controller-Manager in Config Connector konfigurieren.

Ratenlimit für Namespace-Controller-Manager konfigurieren

Wenn Config Connector für die Ausführung im Namespace-Modus konfiguriert ist, können Sie mit der benutzerdefinierten Ressource NamespacedControllerReconciler die Ratenbegrenzung des Kubernetes-Clients des cnrm-controller-manager-Controllers in Ihrem festgelegten Namespace konfigurieren. Sie können das Ratenlimit für diesen Controller ab Config Connector Version 1.119 konfigurieren.

  1. Erstellen Sie eine Datei mit dem Namen configure-rate-limit.yaml und kopieren Sie die folgende YAML-Datei hinein:

    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
    

    Ersetzen Sie NAMESPACE durch den Namen Ihres Namespace:

  2. Verwenden Sie kubectl apply, um die Konfiguration des Ratenlimits auf Ihren Cluster anzuwenden:

    kubectl apply -f configure-rate-limit.yaml
  3. Prüfen Sie mit dem folgenden Befehl, ob die Konfiguration erfolgreich ist:

    kubectl get namespacedcontrollerreconciler cnrm-controller-manager -n NAMESPACE -o jsonpath='{.status.healthy}'

    In der Ausgabe sollte das Feld status.healthy auf true gesetzt sein.

  4. Prüfen Sie, ob die Flags --qps und --burst dem Manager-Container des cnrm-controller-manager-Controllers hinzugefügt wurden. Führen Sie dazu den folgenden Befehl aus:

    kubectl describe statefulsets cnrm-controller-manager -n cnrm-system

    Die Ausgabe sollte Folgendes enthalten:

    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