Configura recursos y réplicas de contenedores
En estas páginas, se describe cómo configurar recursos y réplicas de contenedores para 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 de controlador de Config Connector. Puedes configurar los siguientes controladores:
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
si creas y aplicas 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 de recursos de contenedor a tu clúster:kubectl apply -f configure-webhook-manager.yaml
Ejecuta el siguiente comando para verificar que la configuración se haya realizado correctamente:
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 de recursos personalizados 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 recreación de los pods puede tardar unos minutos.
Si Config Connector está configurado para ejecutarse en el modo con espacio de nombres, debes usar el recurso personalizado NamespacedControllerResource
para configurar los recursos de contenedor para el controlador cnrm-controller-manager
dentro de tu espacio de nombres designado. La configuración de recursos de contenedores 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 una configuración de ejemplo:
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 de 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 del controlador cnrm-webhook-manager
en 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
Ejecuta el siguiente comando para verificar que la configuración se haya realizado correctamente.
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 recreación de los pods puede tardar unos minutos.
Cómo revertir los cambios de configuración en los recursos y las réplicas de contenedores
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 las réplicas y los recursos de contenedor predeterminados.
kubectl delete -f configure-webhook-manager.yaml