Configura réplicas y recursos de contenedores
En esta página, se describe cómo configurar recursos y réplicas del contenedor 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 del controlador de Config Connector. Puedes configurar los siguientes controladores:
cnrm-webhook-manager
cnrm-controller-manager
cnrm-deletiondefender
cnrm-resource-stats-recorder
cnrm-unmanaged-detector
(versión 1.108 y posteriores de Config Connector)
Por ejemplo, puedes configurar la solicitud de memoria y el límite del contenedor webhook
del controlador cnrm-webhook-manager
mediante la creación y aplicación del 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/v1alpha1 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 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 que la nueva configuración de recursos personalizada se haya aplicado al contenedor
webhook
.kubectl get deployment cnrm-webhook-manager -n cnrm-system -o jsonpath='{.spec.template.spec.containers[?(@.name=="webhook")].resources}'
Crear y volver a crear los Pods podría tardar unos minutos.
Si Config Connector está configurado para ejecutarse en modo con espacio de nombres, debes usar el recurso personalizado NamespacedControllerResource
a fin de configurar recursos del contenedor para el controlador cnrm-controller-manager
dentro de tu espacio de nombres designado. La configuración de recursos de contenedor para 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/v1alpha1
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 el 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/v1alpha1 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 dentro de tu clúster.
kubectl get pods -n cnrm-system -l cnrm.cloud.google.com/component=cnrm-webhook-manager
Crear y volver a crear los Pods podría tardar unos minutos.
Revertir los cambios de configuración en las réplicas y los recursos 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 las réplicas y los recursos predeterminados de contenedor.
kubectl delete -f configure-webhook-manager.yaml