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 de 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-manager
cnrm-controller-manager
cnrm-deletiondefender
cnrm-resource-stats-recorder
cnrm-unmanaged-detector
(Config Connector versión 1.108 y posteriores)
Por ejemplo, puedes configurar la solicitud y el límite de memoria del contenedor webhook
del controlador cnrm-webhook-manager
creando y aplicando el siguiente archivo YAML de ejemplo.
Crea un archivo llamado
configure-webhook-manager.yaml
y copia el siguiente archivo YAML en él: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
kubectl apply
para aplicar la configuración del recurso del contenedor a tu clúster:kubectl apply -f configure-webhook-manager.yaml
Para verificar que la configuración se realizó correctamente, ejecuta el siguiente comando:
kubectl get controllerresource cnrm-webhook-manager -o jsonpath='{.status.healthy}'
Debería mostrar el campo
status.healthy
configurado comotrue
.Verifica que la nueva configuración del recurso personalizado se haya aplicado al contenedor
webhook
.kubectl get deployment cnrm-webhook-manager -n cnrm-system -o jsonpath='{.spec.template.spec.containers[?(@.name=="webhook")].resources}'
La creación y la recreación de los Pods podrían tardar unos minutos.
Si Config Connector está configurado para ejecutarse en modo con espacio de nombres, debes usar el recurso personalizado NamespacedControllerResource
para configurar los recursos del contenedor para el controlador cnrm-controller-manager
dentro de tu espacio de nombres designado. 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.yaml
y 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: 256Mi
Usa
kubectl apply
para 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.healthy
configurado 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 podrían 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 de contenedores predeterminados.
kubectl delete -f configure-webhook-manager.yaml