Configura recursos y réplicas de contenedores
En esta página, se describe cómo configurar recursos y réplicas de contenedores para los controladores en Config Connector.
Configura la asignación de recursos para un contenedor del controlador de Config Connector
En la versión 1.106 y posteriores de Config Connector, puedes configurar los recursos de CPU y memoria (RAM) asignados a un contenedor en un Pod del controlador de Config Connector. Puedes configurar los siguientes controles:
cnrm-webhook-managercnrm-controller-managercnrm-deletiondefendercnrm-resource-stats-recordercnrm-unmanaged-detector(Config Connector versión 1.108 y posteriores)
Existen dos tipos de recursos personalizados que se usan para la configuración: ControllerResource y NamespacedControllerResource.
Usa ControllerResource para los componentes con permiso de clúster
Usa el recurso personalizado ControllerResource para configurar recursos para los componentes de Config Connector que se ejecutan como implementaciones centradas en el clúster.
Los siguientes componentes siempre tienen alcance de clúster, incluso cuando Config Connector se instala en modo con espacio de nombres:
cnrm-webhook-managercnrm-deletiondefendercnrm-resource-stats-recordercnrm-unmanaged-detector
El objeto cnrm-controller-manager también tiene alcance 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 administrador de controladores con espacio de nombres
Usa el recurso personalizado NamespacedControllerResource solo para configurar recursos para cnrm-controller-manager cuando Config Connector se ejecuta en modo con espacio de nombres.
La configuración de los recursos del contenedor para un controlador con espacio de nombres está habilitada en la versión 1.108 y posteriores de Config Connector.
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
Reemplaza NAMESPACE por el nombre de tu espacio de nombres.
Configura réplicas para un Pod del controlador de Config Connector
En la versión 1.107 y posteriores de Config Connector, puedes configurar la cantidad de réplicas para un controlador de Config Connector. Solo puedes configurar cnrm-webhook-manager.
Por ejemplo, en los siguientes pasos, se muestra cómo configurar la cantidad de réplicas para que el controlador cnrm-webhook-manager sea 3.
Crea un archivo llamado
configure-webhook-manager.yamly copia el siguiente archivo 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 al clúster:kubectl apply -f configure-webhook-manager.yaml
Para verificar que la configuración se haya realizado correctamente, ejecuta el siguiente comando.
kubectl get controllerresource cnrm-webhook-manager -o jsonpath='{.status.healthy}'Debería mostrar el campo
status.healthyconfigurado comotrue.Verifica la presencia de 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.
Cómo revertir los cambios de configuración en los recursos y las réplicas del contenedor
Usa kubectl
delete para borrar los recursos personalizados ControllerResource que configuraste. Después de la eliminación, el operador de Config Connector vuelve a crear los controladores con los recursos y las réplicas del contenedor predeterminados.
kubectl delete -f configure-webhook-manager.yaml