Tutoriales

Introducción a Kubernetes Qué es Kubernetes

Introducción

Bienvenido al curso de introducción a Kubernetes. Gobernadores, también conocido como k8s o ser, es la herramienta de organización de contenedores más popular de la industria, que es un producto fabricado por Google. Este tutorial de Kubernetes consta de una serie de artículos sobre Kubernetes. En la primera parte discutimos qué es Kubernetes y los conceptos básicos de Kubernetes.

Este curso es para principiantes absolutos, no necesitas ningún conocimiento previo para aprender esta tecnología. Lo guiaremos a través de todos los conceptos básicos de Kubernetes para que comprenda los conceptos.

Antes de comenzar con Kubernetes, debe familiarizarse con Docker y los contenedores.

Que es Docker

estibador le permite agrupar y ejecutar una aplicación en un contenedor, que es un entorno poco aislado. Debido al aislamiento y la seguridad, puede ejecutar varios contenedores en un solo host.

Para ejecutar varios contenedores en el mismo sistema operativo, Docker utiliza el aislamiento de recursos en el kernel del sistema operativo. Por lo general, la gente compara Docker con máquinas virtuales (VM).

Las máquinas virtuales, por otro lado, encierran un sistema operativo completo con código ejecutable en una capa de abstracción de recursos físicos de hardware.

¿Qué es un contenedor?

A Envase image es un paquete de software llave en mano que contiene todo lo que un programa necesita para ejecutarse, incluido el código y los tiempos de ejecución requeridos, las bibliotecas de aplicaciones y del sistema, y ​​los valores predeterminados para todas las configuraciones importantes.

Las aplicaciones se desacoplan de la arquitectura de host subyacente mediante contenedores. Como se muestra en el diagrama a continuación, podemos tener varios contenedores en la parte superior del motor Docker usando la máquina subyacente. Esto facilita la implementación en una variedad de sistemas operativos o escenarios en la nube.

ilustración 1

Los contenedores ayudan a las organizaciones a modernizarse al facilitar que las aplicaciones escalen e implementen. Sin embargo, al construir un entorno de infraestructura completamente nuevo, los contenedores han creado problemas y complejidad adicionales.

Las empresas de software, grandes y pequeñas, implementan diariamente miles de instancias de contenedores, lo que es un desafío para ellas en términos de escalabilidad. Entonces, ¿cómo lo logras?

¿Qué es la orquestación de contenedores?

  • La orquestación de contenedores se ocupa de administrar los ciclos de vida de los contenedores, especialmente en entornos grandes y dinámicos. Los equipos de software utilizan la orquestación de contenedores para controlar y automatizar una amplia variedad de tareas de administración de contenedores.
  • La orquestación de contenedores funciona en cualquier contexto en el que se utilicen contenedores. Puede ayudarlo a implementar el mismo programa en múltiples entornos sin tener que reescribirlo.

Orquestación de contenedores Las tecnologías proporcionan un marco para controlar contenedores y arquitecturas de microservicios. La gestión del ciclo de vida de los contenedores se puede lograr con una variedad de soluciones de orquestación de contenedores. Kubernetes, Docker Swarm y Apache Mesos son tres soluciones / herramientas comunes.

Docker Swarm es la herramienta nativa de Docker que es muy fácil de instalar y configurar. Kubernetes requiere una serie de intervenciones manuales para configurar sus componentes, como etcd, franela y Motor Docker.

Kubernetes domina la industria debido a sus diversas ventajas y características en comparación con otras herramientas.

¿Qué es Kubernetes?

Kubernetes es una tecnología de orquestación de contenedores de código abierto desarrollada originalmente por Google para automatizar la implementación, el escalado y la administración de aplicaciones en contenedores.

Kubernetes simplifica la implementación y la administración de aplicaciones con una arquitectura de microservicio. Esto se logra creando una capa de abstracción en un clúster que permite a los equipos de desarrollo implementar aplicaciones sin problemas, mientras que Kubernetes hace principalmente lo siguiente:

  • Control y gestión del uso de recursos a través de una aplicación.
  • Solicitudes de equilibrio de carga entre muchas instancias de una aplicación de forma automática.
  • Supervise el uso de recursos y los límites de recursos para evitar automáticamente que las aplicaciones consuman recursos excesivos y reanudarlos.
  • Cuando los recursos de un host se agotan o el host falla, mover una instancia de aplicación de un host a otro es una opción viable.
  • Cuando se agrega un nuevo host al clúster, automáticamente se ponen a disposición recursos adicionales.

Por qué el mercado recomienda Kubernetes

Kubernetes, la primera iniciativa de Cloud Native Cloud Foundation (CNCF) y Google Foundation, es el proyecto de software de código abierto de más rápido crecimiento después de Linux.

¿Por qué tantas empresas confían hoy en Kubernetes para satisfacer sus necesidades de orquestación de contenedores? Hay numerosas razones para esto:

  • Portabilidad y flexibilidad: Kubernetes es extremadamente adaptable porque puede ejecutarse en una amplia variedad de configuraciones ambientales y de infraestructura. La mayoría de los demás orquestadores no tienen esta flexibilidad; están vinculados a términos o infraestructuras específicos.
  • Fuente abierta: El CNCF es responsable de Kubernetes, un proyecto de código abierto impulsado por la comunidad. Tiene varios patrocinadores corporativos importantes, pero ninguna empresa «posee» la plataforma o tiene el control exclusivo sobre su desarrollo.
  • Compatibilidad con múltiples nubes: Kubernetes puede alojar cargas de trabajo en una sola nube, así como cargas de trabajo que se distribuyen en muchas nubes. Kubernetes también puede escalar fácilmente su entorno de una nube a la siguiente. Si bien otros orquestadores pueden admitir arquitecturas de múltiples nubes, Kubernetes posiblemente va más allá de eso cuando se trata de personalización de múltiples nubes.
  • Líder marcador: Casi todo el mundo usa Kubernetes. Según una encuesta de REDHAT, Kubernetes es ampliamente utilizado por los clientes (88%), especialmente en situaciones de producción (74%).

Arquitectura de Kubernetes

Kubernetes es un ejemplo de un sistema distribuido bien estructurado. Considera que todas las máquinas de un clúster forman parte de un único grupo de recursos.

Kubernetes, como cualquier otro sistema distribuido sofisticado, tiene dos capas: Nudo de cabeza y Nodo trabajador.

los Nudo de cabeza o Nodo maestro consta del plano de control y las aplicaciones del nodo trabajador. Un clúster de Kubernetes consta de una colección de nodos de trabajo y de cabeza.

Arquitectura de Kubernetes
Figura 2

Kubernetes introduce muchos términos para describir la estructura de su aplicación. Pasaremos por cada semestre.

Componentes de Kubernetes

Los nodos maestro / principal y los nodos trabajadores constan de sus propios componentes que garantizan que la orquestación se ejecute sin problemas.

Nivel de control

A nivel de control, los administradores y usuarios gestionan los distintos nodos. Recibe comandos a través de llamadas HTTP o conectándose al sistema y ejecutando scripts de línea de comandos. Rige la forma en que Kubernetes interactúa con sus aplicaciones, como sugiere su nombre.

Servidor API

El servidor de API proporciona al clúster de Kubernetes una interfaz REST. Toda la actividad en Pods, Servicios y otros objetos se realiza mediante programación mediante la comunicación con los puntos finales implementados.

planificador

El planificador es responsable de asignar tareas a los distintos nodos. Supervisa la capacidad de los recursos y garantiza que el rendimiento de un nodo trabajador se mantenga dentro de límites aceptables.

Gerente de controlador

Kubernetes Controller Manager es un servicio que gestiona los bucles de control central de Kubernetes. Asume la responsabilidad de garantizar que el estado compartido del clúster funcione correctamente.

etc

Kubernetes usa etcd, un almacén de valores clave distribuido, para intercambiar información sobre el estado general de un clúster.

nodo

El nodo es una máquina física o virtual que ejecuta POD. El plano de control gestiona cada nodo de un clúster y el nodo consta de los servicios necesarios para ejecutar POD.

Vainas

Un pod de Kubernetes es una colección de contenedores que Kubernetes administra a muy pequeña escala. Los pods tienen una única dirección IP asignada a todos los contenedores del pod. Los recursos de memoria y almacenamiento de los contenedores en un pod se comparten. Un pod puede tener un solo contenedor incluso si la aplicación tiene un solo proceso.

Kubelet

Kubelet es un componente de nodo trabajador. Su trabajo es vigilar las vainas y sus contenedores. Son especificaciones de pod escritas en YAML o JSON. Kubelet examina las especificaciones de los pods y determina si los pods están en buen estado o no.

Proxy de Kube

El proxy de Kube es un proxy de red y un equilibrador de carga que actúa como enlace entre cada nodo y el servidor API. Funciona en todos los nodos de su clúster y le permite conectarse a pods tanto dentro como fuera del clúster.

Kubectl

Kubectl es una herramienta CLI para Kubernetes. Se utiliza para implementar aplicaciones, monitorear y controlar los recursos del clúster y ver registros.

Desde la perspectiva del usuario, kubectl es su panel de control para Kubernetes. Puede usarlo para realizar todas las operaciones de Kubernetes. Desde un punto de vista técnico, Kubectl es un cliente de la API de Kubernetes.

diploma

En este artículo, analizamos los conceptos básicos de la orquestación de contenedores y la arquitectura de Kubernetes. Una vez que comprendamos los conceptos teóricos de Kubernetes, es posible que comprendamos que una de las cosas más difíciles de Kubernetes es la instalación. En el próximo artículo, repasaremos la instalación de Kubernetes de nodo único. Manténganse al tanto.

Recursos:

LEER  Cómo obtener la zona horaria actual del sistema en Linux

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba