Configurare risorse e repliche container


In questa pagina viene descritto come configurare le risorse e le repliche dei container per in Config Connector.

Configura l'allocazione delle risorse per un container controller Config Connector

In Config Connector versione 1.106 e successive, puoi configurare la CPU e di risorse di memoria (RAM) allocate a un container in un controller Config Connector all'interno del pod. Puoi configurare i seguenti controller:

  • cnrm-webhook-manager
  • cnrm-controller-manager
  • cnrm-deletiondefender
  • cnrm-resource-stats-recorder
  • cnrm-unmanaged-detector (Config Connector versione 1.108 e successive)

Ad esempio, puoi configurare la richiesta e il limite di memoria del contenitore webhook del controller cnrm-webhook-manager creando e applicando il seguente file YAML di esempio.

  1. Crea un file denominato configure-webhook-manager.yaml e copia seguenti YAML al suo interno:

    apiVersion: customize.core.cnrm.cloud.google.com/v1beta1
    kind: ControllerResource
    metadata:
      name: cnrm-webhook-manager
    spec:
      containers:
        - name: webhook
          resources:
            limits:
              memory: 512Mi
            requests:
              memory: 256Mi
    
  2. Utilizza kubectl apply per applicare la configurazione della risorsa contenitore al cluster:

    kubectl apply -f configure-webhook-manager.yaml
  3. Verifica la corretta configurazione eseguendo questo comando:

    kubectl get controllerresource cnrm-webhook-manager -o jsonpath='{.status.healthy}'

    Dovrebbe essere visualizzato il campo status.healthy impostato su true.

  4. Verifica che la nuova configurazione della risorsa personalizzata sia stata applicata al file webhook contenitore.

    kubectl get deployment cnrm-webhook-manager -n cnrm-system -o jsonpath='{.spec.template.spec.containers[?(@.name=="webhook")].resources}'

    La creazione e la nuova creazione dei pod potrebbe richiedere alcuni minuti.

Se Config Connector è configurato per l'esecuzione in con spazio dei nomi, devi usa la risorsa personalizzata NamespacedControllerResource per configurare il container per il controller cnrm-controller-manager all'interno delle risorse nello spazio dei nomi. La configurazione delle risorse container per un controller con spazio dei nomi è abilitato in Config Connector versione 1.108 e successive. Il seguente file YAML mostra una configurazione di esempio:

apiVersion: customize.core.cnrm.cloud.google.com/v1beta1
kind: NamespacedControllerResource
metadata:
  name: cnrm-controller-manager # name should not contain the namespace ID suffix
  namespace: NAMESPACE
spec:
  containers:
    - name: manager
      resources:
        limits:
          cpu: 200m
          memory: 512Mi
        requests:
          cpu: 100m
          memory: 256Mi

Sostituisci NAMESPACE con il nome del tuo spazio dei nomi.

Configura le repliche per un pod del controller Config Connector

In Config Connector versione 1.107 e successive, puoi configurare il numero di per un controller Config Connector. Puoi configurare solo il cnrm-webhook-manager.

Ad esempio, i passaggi seguenti mostrano come configurare il numero di repliche per il controller cnrm-webhook-manager a 3.

  1. Crea un file denominato configure-webhook-manager.yaml e copia quanto segue YAML:

    apiVersion: customize.core.cnrm.cloud.google.com/v1beta1
    kind: ControllerResource
    metadata:
      name: cnrm-webhook-manager
    spec:
      replicas: 3
      containers:
        - name: webhook
          resources:
            limits:
              memory: 512Mi
            requests:
              memory: 256Mi
    
  2. Utilizza kubectl apply per applicare la configurazione modificata al cluster:

    kubectl apply -f configure-webhook-manager.yaml
  3. Verifica la corretta configurazione eseguendo questo comando.

    kubectl get controllerresource cnrm-webhook-manager -o jsonpath='{.status.healthy}'

    Dovrebbe essere visualizzato il campo status.healthy impostato su true.

  4. Verifica la presenza di tre pod webhook all'interno del cluster.

    kubectl get pods -n cnrm-system -l cnrm.cloud.google.com/component=cnrm-webhook-manager

    La creazione e la nuova creazione dei pod potrebbe richiedere alcuni minuti.

Ripristinare le modifiche alla configurazione nelle risorse e nelle repliche dei contenitori

Utilizza kubectl delete per eliminare le risorse personalizzate ControllerResource che hai configurato. Dopo il giorno l'operatore di Config Connector ricrea i controller con le risorse e le repliche predefinite del container.

kubectl delete -f configure-webhook-manager.yaml