Kubernetes es una plataforma modular con tres grupos de componentes: Master, Worker y Addons, lo que hace que Kubernetes sea flexible y ampliable.
Para implementar Kubernetes, necesitará 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 solo sistema.
Para la configuración de Kubernetes, necesitas un clúster con al menos un trabajador y un maestro. Sin embargo, el mínimo recomendado es de tres trabajadores y un maestro.
La parte interesante del clúster de Kubernetes es la nueva mentalidad que nosotros, como operadores, debemos adoptar. Por ahora, simplifiquémoslo, pensando en términos de recursos en lugar de máquinas o nodos.
Antes, solíamos organizar nuestras implementaciones manualmente en cada servidor, pero con Kubernetes, podemos ver el clúster como un gran conjunto de recursos, independientemente del número de servidores que estén conectados.
Alerta de spoiler: así es como se ve un clúster de Kubernetes simple. Vamos a dividirlo en tres grupos: Master, Worker y Addons.
Empecemos por el Componentes principales, como ya habrás adivinado, se ejecutan en el nodo maestro y son el plano de control que toma las decisiones globales dentro del clúster.
Estos componentes son el servidor de API, etcd, el planificador, el administrador de controladores y el administrador de controladores en la nube.
Servidor API: Este componente expone mediante API el plano de control de Kubernetes. Así es como la CLI de Kubernetes o «kubectl» interactúa con el clúster.
El etcd: Etcd es una base de datos de almacenamiento de claves/valores donde se almacenan todos los datos de Kubernetes y cuando todos los medios son como todos.
El planificador: El programador busca los pods y encuentra en ellos un nodo con recursos suficientes para ejecutarse.
Luego, el administrador del controlador. Este componente es un único binario compuesto por cuatro subprocesos y son:
El último componente maestro es el administrador de controladores en la nube, que gestiona todas las interacciones con su proveedor de servicios en la nube. Funciona de manera similar al administrador de controladores normal, pero solo para el proveedor de la nube. Como puede ver, los controladores son muy potentes, pero hay más. En episodios futuros, hablaremos sobre cómo crear tu propio mando.
Se sabe que estos componentes se ejecutan en cada nodo de trabajo. A diferencia de los componentes principales, que se ejecutan principalmente en un maestro a la vez, el nodo de trabajo tiene cuatro componentes muy ligeros, lo que tiene sentido porque quieres reservar la mayor parte del espacio para los pods.
El kubelet, lo que garantiza que todos los contenedores estén funcionando y en buen estado.
El proxy permite la comunicación con la red interna del clúster mediante reglas de red, que se utilizan principalmente para los pods de desarrollo y prueba. Se recomienda eliminarlo en producción por motivos de seguridad.
El tiempo de ejecución del contenedor, que es responsable de ejecutar los contenedores, las opciones de tiempo de ejecución más comunes son: Docker y Containerd
Que proporciona funciones a nivel de clúster mediante el uso de recursos de Kubernetes, como DaemonSet y Deployments. Estos componentes cubren áreas como las redes, el DNS, las métricas, el registro y más.
Suscríbase a nosotros o suscríbase al boletín informativo (aquí) para recibir una notificación cuando salga un nuevo artículo.
Si está interesado en la versión en vídeo de nuestra publicación, consulte nuestro vlog (aquí).
Conceptos de Kubernetes: https://kubernetes.io/docs/concepts/overview/components/