Volver a la página principal
domingo 1 diciembre 2024
9

¿Qué es y cómo usar kube-controller-manager en Kubernetes?

El kube-controller-manager agrupa múltiples controladores en un único proceso. Cada controlador se encarga de monitorizar un tipo específico de recurso y actúa para mantener el estado deseado cuando detecta discrepancias.

Algunos de los controladores gestionados por kube-controller-manager incluyen:

  • Node Controller: Gestiona el estado de los nodos del clúster.
  • Replication Controller: Garantiza que el número especificado de réplicas de un Pod esté siempre ejecutándose.
  • Endpoint Controller: Gestiona los objetos Endpoints para servicios.
  • Service Account Controller: Crea cuentas de servicio y tokens predeterminados.
  • Namespace Controller: Gestiona la creación y eliminación de namespaces.

Comando de inicio del kube-controller-manager

El kube-controller-manager generalmente se ejecuta como parte del plano de control, configurado por un administrador del clúster. Puede iniciarse con varios parámetros para personalizar su comportamiento.

Parámetros comunes:

Parámetro Descripción
--master Especifica la dirección del servidor de API de Kubernetes.
--allocate-node-cidrs Habilita la asignación automática de CIDR para nodos.
--cluster-cidr Define el rango de direcciones IP del clúster.
--service-cluster-ip-range Rango de IP asignado a los servicios dentro del clúster.
--controllers Lista de controladores a habilitar o deshabilitar. Ejemplo: ,-garbagecollector.
--leader-elect Habilita la elección de líder para un entorno de alta disponibilidad.

Ejemplo de inicio:

kube-controller-manager --master=https://192.168.0.1:6443 --allocate-node-cidrs=true --cluster-cidr=10.244.0.0/16

Ejemplos de uso práctico

Verificar el estado de los controladores

Puedes inspeccionar el estado general del kube-controller-manager mediante los logs o comandos de Kubernetes:

kubectl get events

Ajustar los controladores habilitados

Si deseas deshabilitar un controlador en particular:

kube-controller-manager --controllers=*, -garbagecollector

Esto ejecutará todos los controladores excepto el Garbage Collector.

Resolver problemas de nodos

El Node Controller monitorea los nodos en busca de inactividad. Si detectas problemas, revisa los logs del kube-controller-manager:

journalctl -u kube-controller-manager

Recursos oficiales

Etiquetas:
kubernetes
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer