Kubernetes es una plataforma modular compuesta por componentes distribuidos entre los nodos master y minion. Lo que hace de Kubernetes una plataforma flexible y extensible.
Para implementar Kubernetes, necesitamos un clúster, y para aquellos que no estén familiarizados con el término “clúster” no es más que un grupo de máquinas o nodos, que actúan como un único sistema.
Para instalar Kubernetes, necesitamos un clúster con al menos un nodo minion y un nodo maestro. Sin embargo, el mínimo recomendado son tres nodos minions y un nodo maestro.
La parte emocionante del clúster de Kubernetes es la nueva mentalidad que nosotros como operadores, debemos adoptar.
Antes organizábamos despliegues en los servidores manualmente, pero con Kubernetes, podemos ver el clúster como único grupo de recursos disponibles, independientemente de cuántos servidores estén conectados.
Antes de hablar sobre los componentes del clúster, en la siguiente imagen les mostramos como luce una despliegue básico de Kubernetes.
Comencemos con los componentes del nodo maestro, los cuales se ejecutan en el nodo Maestro y son encargados del manejar a modo global el clúster.
Estos componentes son:
Servidor API, expone a través de una API el manejo de Kubernetes. Por ejemplo, así es como la CLI de Kubernetes o “kubectl” interactúa con el clúster.
etcd, es una base de datos de tipo clave / valor donde se almacenan todos los datos de Kubernetes.
Planificador está encargado de posicionar los pods para que se puedan ejecutar con los recursos deseados.
Administrador de Controladores, es un binario único compuesto por cuatro subprocesos. Los cuales son:
1. El controlador de nodo es responsable de los nodos y del estado del mismo en el clúster.
2. El controlador de replicación es responsable de mantener la cantidad deseada de pods por réplica.
3. El controlador de enlaces maneja el vínculo entre servicios y pods.
4. La identidad de servicio y el controlador de tokens manejan las cuentas predeterminadas y el acceso a la API para espacios de nombres
Administrador de Controlador de Proveedores de la Nube, Es el último componente maestro, pero ciertamente no menos importante, tenemos el administrador de controlador de proveedores de la nube, que maneja todas las interacciones con su proveedor de la nube. Funciona de manera similar al administrador de controlador regular, pero este se enfoca solo en el proveedor de la nube.
Los componentes del nodo minion son conocidos por ejecutarse en cada nodo de trabajo, a diferencia de los componentes maestros. El nodo de trabajo tiene solo tres componentes, lo que tiene sentido mantenerlo liviano, ya que es donde se ejecutan los pods.
2. Proxy, permite la conexión al clúster mediante el uso de politicas de red. El uso más común es para el desarrollo y pruebas de pods. Para producción se recomienda eliminarlo por cuestiones de seguridad.
3. Manejador de contenedores, que es responsable de ejecutar los contenedores, los mas típicos son Docker, containerd o cualquier otro que implemente la interfaz CRI o Kubernetes Container Runtime Interface.
Proporcionan funcionalidades a nivel de clúster utilizando recursos de Kubernetes como DaemonSet y Deployments.
Estos componentes cubren áreas como redes, DNS, métricas, registros y más.
Si está interesado en la versión de video suscríbete en nuestro canal Aquí.