Configurer les ressources et les répliques de conteneurs
Cette page explique comment configurer les ressources et les répliques de conteneurs pour les contrôleurs dans Config Connector.
Configurer l'allocation de ressources pour un conteneur de contrôleur Config Connector
Dans Config Connector version 1.106 et ultérieures, vous pouvez configurer les ressources de processeur et de mémoire (RAM) allouées à un conteneur dans un pod de contrôleur Config Connector. Vous pouvez configurer les contrôleurs suivants :
cnrm-webhook-managercnrm-controller-managercnrm-deletiondefendercnrm-resource-stats-recordercnrm-unmanaged-detector(Config Connector version 1.108 et ultérieure)
Deux types de ressources personnalisées sont utilisés pour la configuration : ControllerResource et NamespacedControllerResource.
Utiliser ControllerResource pour les composants à l'échelle du cluster
Utilisez la ressource personnalisée ControllerResource pour configurer les ressources des composants Config Connector qui s'exécutent en tant que déploiements à l'échelle du cluster.
Les composants suivants sont toujours de portée cluster, même lorsque Config Connector est installé en mode espace de noms :
cnrm-webhook-managercnrm-deletiondefendercnrm-resource-stats-recordercnrm-unmanaged-detector
cnrm-controller-manager est également limité au cluster lorsque Config Connector est installé en mode cluster.
Par exemple, pour configurer la requête et la limite de mémoire du conteneur webhook du contrôleur cnrm-webhook-manager, créez et appliquez le fichier YAML suivant :
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
Utiliser NamespacedControllerResource pour le gestionnaire de contrôleurs avec espace de noms
N'utilisez la ressource personnalisée NamespacedControllerResource que pour configurer les ressources de cnrm-controller-manager lorsque Config Connector est exécuté en mode espace de noms.
La configuration des ressources de conteneur pour un contrôleur avec espace de noms est activée dans Config Connector version 1.108 et ultérieures.
Le fichier YAML suivant montre un exemple de configuration :
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
Remplacez NAMESPACE par le nom de votre espace de noms.
Configurer des répliques pour un pod de contrôleur Config Connector
Dans Config Connector version 1.107 et ultérieures, vous pouvez configurer le nombre de répliques pour un contrôleur Config Connector. Vous ne pouvez configurer que cnrm-webhook-manager.
Par exemple, les étapes suivantes montrent comment configurer le nombre de répliques pour le contrôleur cnrm-webhook-manager sur 3.
Créez un fichier nommé
configure-webhook-manager.yamlet copiez-y le YAML ci-dessous :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: 256MiUtilisez
kubectl applypour appliquer la configuration modifiée à votre cluster :kubectl apply -f configure-webhook-manager.yaml
Vérifiez que la configuration a réussi en exécutant la commande suivante.
kubectl get controllerresource cnrm-webhook-manager -o jsonpath='{.status.healthy}'Le champ
status.healthydoit être défini surtrue.Vérifiez la présence de trois pods de webhook dans votre cluster.
kubectl get pods -n cnrm-system -l cnrm.cloud.google.com/component=cnrm-webhook-manager
La création et la recréation des pods peuvent prendre quelques minutes.
Rétablir les modifications de configuration dans les ressources et les répliques de conteneur
Utilisez kubectl
delete pour supprimer les ressources personnalisées ControllerResource que vous avez configurées. Après la suppression, l'opérateur Config Connector recrée les contrôleurs avec les ressources et les répliques de conteneur par défaut.
kubectl delete -f configure-webhook-manager.yaml