Skip to main content

Kube Controller Manager

El Kube-Controller-Manager gestiona los varios controladores existentes en Kubernetes. Diferentes controladores pueden ser instalados en Kubernetes pues la API de Kubernetes es extensible. Un ejemplo es el HPA (Horizontal Pod Autoscaler) que no es built-in en Kubernetes, pero puede estar disponible instalando el Metrics Server.

El objetivo del Kube-Controller-Manager es monitorear el cluster para alcanzar el estado deseado para pods y nodos tomando decisiones para remediar la situación interactuando directamente con el Kube-APIServer.

El Kube-Controller-Manager toma acciones necesarias cada vez que:

  • Un nodo es añadido o removido del cluster o incluso no puede ser alcanzado.
  • Un contenedor deja de ejecutar o no está saludable

Node Controller

Este es el controlador que monitorea los nodos.

Por defecto, cada 5 segundos verifica el estado de los nodos. Si no consigue alcanzar un nodo este es marcado como Unreachable, pero solo después de 40 segundos, es decir 8 intentos, es marcado como NotReady. Después de marcado como NotReady, el Kube-Controller-Manager espera 5 minutos para que el nodo esté disponible nuevamente, en caso contrario remueve los pods destinados al nodo e intenta desplegar en otro nodo disponible.

Abajo tenemos algunas configuraciones que son pasadas para ajustar estos parámetros.

--node-monitor-period duration (Default: 5s)
--node-monitor-grace-period duration (Default: 40s)

Replication Controller

Este es el controlador que garantiza que los pods estén siempre disponibles en el cluster con el número de pods deseados para una determinada aplicación. Si un pod muere, crea otro.


Como se mencionó, muchos controladores existen en el cluster. Cualesquiera que sean los conceptos que tenemos en Kubernetes, existe un controlador para él.

El conjunto de controladores forma la inteligencia detrás de Kubernetes.

Alt text

Al igual que los otros componentes, este también puede ser instalado como servicio o pod ejecutándose en los maestros.

Alt text

Alt text

Alt text

Alt text

Podemos activar, desactivar y alterar configuraciones usando los archivos arriba.