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-manager
cnrm-controller-manager
cnrm-deletiondefender
cnrm-resource-stats-recorder
cnrm-unmanaged-detector
(Config Connector 1.108 y versiones posteriores)
Por ejemplo, puedes configurar la solicitud y el límite de memoria del webhook
contenedor 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 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 del contenedor 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.healthy
con el valortrue
.Comprueba 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 la recreación de los pods pueden tardar unos minutos.
Si Config Connector está configurado para ejecutarse en modo de espacio de nombres, debes usar el recurso personalizado NamespacedControllerResource
para configurar los recursos de contenedor del controlador cnrm-controller-manager
en el espacio de nombres designado. 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 de 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.yaml
y copia el siguiente 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 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.healthy
con 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