Configura le risorse e le repliche dei contenitori
Questa pagina descrive come configurare le risorse e le repliche dei contenitori per i controller in Config Connector.
Configurare l'allocazione delle risorse per un contenitore del controller Config Connector
In Config Connector versione 1.106 e successive, puoi configurare le risorse CPU e memoria (RAM) allocate a un contenitore in un pod del 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 contenitore 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 al suo interno il seguente codice 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
kubectl apply
per applicare la configurazione della risorsa contenitore al cluster:kubectl apply -f configure-webhook-manager.yaml
Verifica la corretta configurazione eseguendo il seguente 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 contenitore
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 potrebbe richiedere alcuni minuti.
Se Config Connector è configurato per funzionare in modalità con spazio dei nomi, devi utilizzare la risorsa personalizzata NamespacedControllerResource
per configurare le risorse dei contenitori per il controller cnrm-controller-manager
nello spazio dei nomi designato. La configurazione delle risorse dei contenitori per un controller con nome nello spazio dei nomi è abilitata in Config Connector versione 1.108 e successive. Il seguente file YAML
mostra un esempio di configurazione:
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 dello 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 repliche per un controller Config Connector. Puoi configurare solo il
cnrm-webhook-manager
.
Ad esempio, i passaggi riportati di seguito 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 cluster:kubectl apply -f configure-webhook-manager.yaml
Verifica la corretta configurazione eseguendo il seguente 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 nel cluster.
kubectl get pods -n cnrm-system -l cnrm.cloud.google.com/component=cnrm-webhook-manager
La creazione e la ricreazione 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 l'eliminazione, l'operatore di Config Connector ricrea i controller con le risorse e le repliche dei contenitori predefinite.
kubectl delete -f configure-webhook-manager.yaml