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-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 container webhook
del controller cnrm-webhook-manager
creando e applicando
il seguente file YAML di esempio.
Crea un file denominato
configure-webhook-manager.yaml
e copia il seguente codice 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
Utilizza
kubectl apply
per applicare la configurazione della risorsa container 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.healthy
impostato sutrue
.Verifica che la nuova configurazione della risorsa personalizzata sia stata applicata al container
webhook
.kubectl get deployment cnrm-webhook-manager -n cnrm-system -o jsonpath='{.spec.template.spec.containers[?(@.name=="webhook")].resources}'
La creazione e la ricreazione dei pod potrebbero richiedere alcuni minuti.
Se Config Connector è configurato per l'esecuzione in
modalità con spazio dei nomi, devi
utilizzare la risorsa personalizzata NamespacedControllerResource
per configurare le risorse
del container per il controller cnrm-controller-manager
all'interno dello spazio dei nomi
designato. 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.yaml
e 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: 256Mi
Utilizza
kubectl apply
per applicare la configurazione modificata al tuo 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.healthy
impostato 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