Geekflare cuenta con el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliados comprando enlaces en este sitio.
Comparte en:

Introducción a Kubernetes para principiantes

monitoreo de kubernetes
Escáner de seguridad de aplicaciones web Invicti – la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

¿Escuchas mucho sobre Kubernetes pero no estás seguro de qué son?

What is Kubernetes?

Kubernetes es una herramienta de código abierto que se encarga de la orquestación de contenedores. Automatiza la implementación de contenedores, el escalado y desescalado continuo, el equilibrio de carga de contenedores, etc.

GeekFlare de Kubernetes

Google ha desarrollado inicialmente Kubernetes en el lenguaje de programación Go.

Actualmente, es líder del mercado en la orquestación de contenedores. Kubernetes es una plataforma ideal para alojar aplicaciones de microservicios que se escalan de forma dinámica. Cuando trabaja en un entorno de producción, Kubernetes es la plataforma preferida y más segura para la orquestación de contenedores.

Debido a que en un entorno de producción, espera cero tiempo de inactividad, su clúster siempre debe estar en funcionamiento.

Con Google Cloud Platform (GCP), puede iniciar Kubernetes con solo unos pocos clics. Es compatible con otros proveedores de la nube, también como AWS y Azure. Y hay varios plataforma Kubernetes administrada disponible.

Why Kubernetes?

Anteriormente, una pelea entre desarrolladores y probadores era algo común.

Los entornos solían ser diferentes para ellos; lo que funcionó en el sistema del desarrollador no se ejecutó en el sistema de probadores.

Ahora que la mayoría de las organizaciones utilizan contenedores, los problemas que surgen debido a diferencias en el entorno ya no ocurren.

Pero organizar y ejecutar varios contenedores tampoco es una tarea fácil. Cuando trabaja en aplicaciones dinámicas, escalando hacia arriba o hacia abajo, la cantidad de contenedores es algo normal. Hacer estas tareas manualmente puede resultar complejo y arriesgado. Por lo tanto, se requiere una herramienta de orquestación de contenedores y es por eso que se necesita Kubernetes.

Kubernetes Features

Hay muchos, pero los siguientes son algunos de los mejores.

# Embalaje automático de contenedores

Kubernetes empaqueta su aplicación y coloca contenedores automáticamente según sus requisitos y los recursos disponibles.

# Descubrimiento de servicios y equilibrio de carga

Kubernetes asigna automáticamente a los contenedores sus direcciones IP y un nombre DNS a los contenedores que ejecutan operaciones lógicas. La función de equilibrio de carga también está presente entre el conjunto de contenedores.

# Orquestación de almacenamiento

Kubernetes monta automáticamente el sistema de almacenamiento de su elección. puede ser cualquiera almacenamiento local o una nube pública proveedor como AWS.

# Autocuración

Siempre que Kubernetes se dé cuenta de que uno de sus contenedores ha fallado, reiniciará ese contenedor por sí solo y también creará un nuevo contenedor en lugar del bloqueado. En caso de que su nodo falle, los contenedores que se ejecutan en ese nodo se iniciarán en otro nodo en ejecución en el clúster.

# Escala horizontal

Puede escalar sus aplicaciones hacia arriba y hacia abajo rápidamente con un simple comando. El comando simple se puede ejecutar en la CLI o mediante el panel de Kubernetes. El escalado automático también es posible, según el uso de la CPU, sus contenedores se escalarán o reducirán automáticamente.

# Rollback y rollout automático

Siempre que hay una actualización de su aplicación, Kubernetes implementa progresivamente estos cambios y actualizaciones en la aplicación o sus configuraciones. No todas las instancias se actualizan al mismo tiempo, lo que garantiza una alta disponibilidad. Si algo sale mal, Kubernetes revertirá los cambios de inmediato.

Kubernetes Terminologies

Antes de ensuciarse las manos, debe conocer algunas terminologías que se utilizan en Kubernetes con regularidad.

# Vaina

Representa uno o más contenedores que se ejecutan en un clúster.

# Servicio

Una forma abstracta de acceder al pod / aplicación.

# Espacio de nombres

Se utiliza para eliminar la colisión de nombres dentro de un clúster. Es compatible con varios clústeres virtuales en el mismo clúster físico.

# Nodo

Máquina de trabajo de Kubernetes.

# Médico

Consta de un grupo de nodos que ejecutan aplicaciones en contenedores en Kubernetes.

# Anotación

Una etiqueta para almacenar los datos requeridos por los recursos.

# Tamaño

Es el directorio de datos al que acceden los contenedores en el pod.

# conjunto de réplicas

Varias réplicas de cápsulas para correr.

# Disquera

Dar un nombre a los objetos de Kubernetes para que se puedan identificar en todo el sistema.

# Kubelet

Es un agente que se ejecuta en cada nodo y comprueba si los contenedores se están ejecutando en los pods.

# Kubectl

Utilidad de línea de comandos para interactuar con el servidor API de Kubernetes.

# Proxy de Kube

Proxy de red que contiene todas las reglas de red en cada nodo del clúster.

Kubernetes and Docker

Ahora podría estar pensando en qué se diferencia Kubernetes de Docker. La frase Kubernetes vs. Docker puede ser engañosa.

Docker es una plataforma que empaqueta sistemas operativos, bibliotecas y aplicaciones dentro de un contenedor. Déjame decirte que Docker hace lo mismo que debe hacer en Kubernetes. Pero cuando trabaja solo con Docker, todo es manual. Debe iniciar y detener los contenedores manualmente. Pero con Kubernetes, todo se automatiza.

Kubernetes puede programar pods que tienen contenedores, luego Kubelet le dice a Docker que inicie o detenga los contenedores. Kubelet en Kubernetes es responsable de monitorear esos contenedores y recopilar su información en el nodo maestro. Entonces, la diferencia básica es que en lugar de que los administradores le digan a Docker qué hacer, en Kubernetes, todo está automatizado.

Hay otra herramienta utilizada para la orquestación de contenedores es Enjambre Docker. Entonces, ¿cuál es la diferencia entre ellos?

Kubernetes vs. Docker Swarm

Kubernetes Enjambre Docker
La instalación es compleja La instalación es sencilla
Comunidad de código abierto más grande Comunidad más pequeña en comparación con Kubernetes
Puede orquestar cientos de contenedores fácilmente Bueno para orquestar 10-20 contenedores
El panel de Kubernetes proporciona GUI Sin GUI
Admite escalado automático No admite escalado automático
Admite actualizaciones continuas con reversión automática Admite actualizaciones continuas pero no reversión automática
Registro y monitoreo disponibles incorporados Necesita un tercero como ELK para registro y monitoreo
Puede compartir volumen con contenedores en el mismo pod Puede compartir volumen con cualquier contenedor del clúster

En resumen

Espero que ahora tenga una comprensión básica de qué es Kubernetes y cómo ayuda. Si está interesado en DevOps o está pensando en hacerlo, le sugiero que tome este fantástico curso de Udemy para aprender Kubernetes.

Gracias a nuestros patrocinadores
Más lecturas excelentes sobre DevOps
Impulse su negocio
Algunas de las herramientas y servicios para ayudar a que su negocio crezca.
  • Invicti utiliza Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en cuestión de horas.
    Prueba Invicti
  • Web scraping, proxy residencial, administrador de proxy, desbloqueador web, rastreador de motores de búsqueda y todo lo que necesita para recopilar datos web.
    Prueba Brightdata
  • Semrush es una solución de marketing digital todo en uno con más de 50 herramientas en SEO, redes sociales y marketing de contenido.
    Prueba Semrush
  • Intruder es un escáner de vulnerabilidades en línea que encuentra debilidades de ciberseguridad en su infraestructura, para evitar costosas filtraciones de datos.
    Intente Intruder