Configura risorse e repliche del container
Queste pagine descrivono come configurare le risorse e le repliche dei container per i controller in Config Connector.
Configura l'allocazione delle risorse per un container controller Config Connector
In Config Connector versione 1.106 e successive, puoi configurare le risorse CPU e memoria (RAM) allocate a un container in un pod controller Config Connector. Puoi configurare i seguenti controller:
cnrm-webhook-managercnrm-controller-managercnrm-deletiondefendercnrm-resource-stats-recordercnrm-unmanaged-detector(Config Connector versione 1.108 e successive)
Esistono due tipi di risorse personalizzate utilizzate per la configurazione: ControllerResource e NamespacedControllerResource.
Utilizza ControllerResource per i componenti con ambito cluster
Utilizza la risorsa personalizzata ControllerResource per configurare le risorse per i componenti di Config Connector che vengono eseguiti come deployment con ambito cluster.
I seguenti componenti sono sempre con ambito cluster, anche quando Config Connector è installato in modalità con spazio dei nomi:
cnrm-webhook-managercnrm-deletiondefendercnrm-resource-stats-recordercnrm-unmanaged-detector
cnrm-controller-manager è anche con ambito cluster quando Config Connector è installato in modalità cluster.
Ad esempio, per configurare la richiesta e il limite di memoria del container webhook del controller cnrm-webhook-manager, crea e applica il seguente file YAML:
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
Utilizza NamespacedControllerResource per il controller manager con spazio dei nomi
Utilizza la risorsa personalizzata NamespacedControllerResource solo per configurare le risorse per cnrm-controller-manager quando Config Connector è in esecuzione in modalità con spazio dei nomi.
La configurazione delle risorse container per un controller con spazio dei nomi è abilitata 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 controller Config Connector
In Config Connector versione 1.107 e successive, puoi configurare il numero di repliche per un controller Config Connector. Puoi configurare solo
cnrm-webhook-manager.
Ad esempio, i seguenti passaggi mostrano come configurare il numero di repliche
per il controller cnrm-webhook-manager su 3.
Crea un file denominato
configure-webhook-manager.yamle copia al suo interno il seguente codice 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: 256MiUtilizza
kubectl applyper applicare la configurazione modificata al cluster:kubectl apply -f configure-webhook-manager.yaml
Verifica la corretta configurazione eseguendo questo comando.
kubectl get controllerresource cnrm-webhook-manager -o jsonpath='{.status.healthy}'Dovrebbe essere visualizzato il campo
status.healthyimpostato sutrue.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 ricreazione dei pod potrebbero richiedere alcuni minuti.
Annulla le modifiche alla configurazione nelle risorse e nelle repliche dei container
Utilizza kubectl
delete
per eliminare le risorse personalizzate ControllerResource che hai configurato. Dopo
l'eliminazione, l'operatore Config Connector ricrea i controller con le
repliche e le risorse dei container predefinite.
kubectl delete -f configure-webhook-manager.yaml