コントローラ マネージャーのレート制限を構成する


このページでは、Config Connector でコントローラ マネージャに全体的なレート制限(トークン バケット レート制限)を構成する方法について説明します。

名前空間コントローラ マネージャーのレート制限を構成する

Config Connector が名前空間モードで実行されるように構成されている場合は、NamespacedControllerReconciler カスタム リソースを使用して、指定された名前空間内で cnrm-controller-manager コントローラの Kubernetes クライアントのレート制限を構成できます。このコントローラのレート制限は、Config Connector バージョン 1.119 以上で構成できます。

  1. configure-rate-limit.yaml という名前のファイルを作成して、次の YAML ファイルをコピーします。

    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
    

    NAMESPACE を実際のバケット名で置き換えます。

  2. kubectl apply を使用して、クラスタにレート制限の構成を適用します。

    kubectl apply -f configure-rate-limit.yaml
  3. 次のコマンドを実行して、構成が成功したことを確認します。

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

    出力には、true に設定された status.healthy フィールドが表示されます。

  4. 次のコマンドを実行して、--qps フラグと --burst フラグが cnrm-controller-manager コントローラのマネージャー コンテナに追加されたことを確認します。

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

    出力に次の内容が含まれているはずです。

    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