Configurar recursos y réplicas de contenedores
En esta página se describe cómo configurar los recursos y las réplicas de contenedores para los controladores en Config Connector.
Configurar la asignación de recursos para un contenedor de controlador de Config Connector
En Config Connector 1.106 y versiones posteriores, puedes configurar los recursos de CPU y memoria (RAM) asignados a un contenedor en un pod de controlador de Config Connector. Puedes configurar los siguientes controladores:
cnrm-webhook-managercnrm-controller-managercnrm-deletiondefendercnrm-resource-stats-recordercnrm-unmanaged-detector(Config Connector 1.108 y versiones posteriores)
Hay dos tipos de recursos personalizados que se usan para la configuración: ControllerResource y NamespacedControllerResource.
Usar ControllerResource para componentes con ámbito de clúster
Usa el recurso personalizado ControllerResource para configurar recursos de componentes de Config Connector que se ejecutan como implementaciones con ámbito de clúster.
Los siguientes componentes siempre tienen ámbito de clúster, incluso cuando Config Connector se instala en modo de espacio de nombres:
cnrm-webhook-managercnrm-deletiondefendercnrm-resource-stats-recordercnrm-unmanaged-detector
El cnrm-controller-manager también tiene ámbito de clúster cuando Config Connector se instala en modo de clúster.
Por ejemplo, para configurar la solicitud y el límite de memoria del contenedor webhook del controlador cnrm-webhook-manager, crea y aplica el siguiente archivo 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
Usa NamespacedControllerResource para el gestor de controladores con espacio de nombres
Usa el recurso personalizado NamespacedControllerResource solo para configurar recursos de cnrm-controller-manager cuando Config Connector se ejecute en el modo de espacio de nombres.
La configuración de los recursos de contenedor de un controlador con espacio de nombres está habilitada en Config Connector 1.108 y versiones posteriores.
En el siguiente archivo YAML se muestra un ejemplo de configuración:
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
Sustituye NAMESPACE por el nombre de tu espacio de nombres.
Configurar réplicas para un pod de controlador de Config Connector
En Config Connector 1.107 y versiones posteriores, puedes configurar el número de réplicas de un controlador de Config Connector. Solo puedes configurar el
cnrm-webhook-manager.
Por ejemplo, en los siguientes pasos se muestra cómo configurar el número de réplicas del controlador cnrm-webhook-manager en 3.
Crea un archivo llamado
configure-webhook-manager.yamly copia el siguiente código YAML en él: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: 256MiUsa
kubectl applypara aplicar la configuración modificada a tu clúster:kubectl apply -f configure-webhook-manager.yaml
Para verificar que la configuración se ha realizado correctamente, ejecuta el siguiente comando.
kubectl get controllerresource cnrm-webhook-manager -o jsonpath='{.status.healthy}'Debería mostrar el campo
status.healthycon el valortrue.Verifica que haya 3 pods de webhook en tu clúster.
kubectl get pods -n cnrm-system -l cnrm.cloud.google.com/component=cnrm-webhook-manager
La creación y la recreación de los pods pueden tardar unos minutos.
Deshacer los cambios de configuración en los recursos y las réplicas de los contenedores
Usa kubectl
delete
para eliminar los ControllerResource recursos personalizados que hayas configurado. Después de la eliminación, el operador de Config Connector vuelve a crear los controladores con los recursos y las réplicas de contenedor predeterminados.
kubectl delete -f configure-webhook-manager.yaml