GNU/Linux >> Tutoriales Linux >  >> Linux

Conceptos básicos de Kubernetes para administradores de sistemas

En el primero de una serie de dos partes, este artículo analiza las similitudes y diferencias en contenedores, máquinas virtuales y las ventajas y desventajas de cada tecnología. También analizo Kubernetes (a menudo escrito como K8) y por qué surgió.

Contenedores

En términos más simples, piense en los contenedores como cajas estándar de software que se pueden usar como una unidad de implementación independiente en cualquier infraestructura. Los contenedores vienen incluidos con el código y todas las dependencias en su interior. Son livianos, independientes y contienen todos los tiempos de ejecución, configuraciones y herramientas del sistema necesarios para ejecutar aplicaciones.

Máquinas virtuales

Las máquinas virtuales (VM) son programas de espacio aislado (máquinas invitadas) que se comportan como máquinas físicas y se ejecutan en hardware físico y sistemas operativos (máquinas host). La virtualización es como crear varias máquinas dentro de una máquina. El software dentro de la máquina virtual no interfiere con el sistema operativo host. Esto hace que las máquinas virtuales sean ideales para probar aplicaciones beta, diseccionar y estudiar archivos infectados con virus y explorar cualquier otro software que no desee colocar en un sistema físico. Los sistemas host de máquinas virtuales están diseñados y equipados para albergar varias máquinas virtuales, desde unas pocas hasta varias docenas, según las tecnologías y el hardware implicados.

[ A los lectores también les gustó: Automatizar la implementación de máquinas virtuales con Ansible:Design ]

Cada VM usa su propia CPU virtual, memoria, disco duro, NIC (tarjetas de interfaz de red), que se asignan a los recursos físicos de la máquina. Básicamente, las máquinas virtuales son entornos de prueba que pueden ahorrarle dinero, tiempo y otros recursos debido a su disponibilidad, tiempos de construcción rápidos y portabilidad entre hosts. Las VM brindan entornos seguros para probar el software y las aplicaciones más recientes sin el riesgo de dañar su sistema host físico.

Nota:Si bien las máquinas virtuales y los hosts están lógicamente separados entre sí, las máquinas virtuales en sí mismas no son ni más ni menos seguras que un sistema operativo independiente en una máquina física. Y los sistemas en red, físicos o virtuales, son igualmente vulnerables a los ataques y desafíos basados ​​en la red.

Existen diferencias clave entre máquinas virtuales y contenedores

Ahora que conoce la definición y algunos casos de uso de máquinas virtuales y contenedores, puede comparar las principales diferencias entre máquinas virtuales y contenedores en la siguiente tabla:

Kubernetes

Kubernetes es un sistema de código abierto para automatizar la implementación, el escalado y la gestión de aplicaciones en contenedores. Google usó K8s, anteriormente conocido como Borg, antes de que se convirtiera en un proyecto de código abierto. Ahora es mantenido y administrado por CNCF (Cloud Native Computing Foundation). Los K8 agrupan contenedores en una unidad lógica llamada pod. Los pods forman aplicaciones. Los pods también brindan fácil administración y descubrimiento.

¿Por qué deberíamos usar Kubernetes?

A medida que los microservicios y la nube comenzaron a surgir, surgió la necesidad de administrar miles de contenedores que se ejecutan en un sistema. Esto se debió en parte a los requisitos de alta disponibilidad y otras necesidades.

Las principales ventajas de Kubernetes incluyen:

  • Lanzamientos y reversiones automatizados:ayuda con los lanzamientos automáticos de cambios mientras se asegura de que todos los pods no se desactiven al mismo tiempo. Supervisa el estado y se puede utilizar para revertir los cambios.
  • Detección de servicios y balanceo de carga:Ayuda a dar a los pods (que son envoltorios para contenedores) sus propias direcciones IP y un solo nombre de DNS. K8s también ayuda a equilibrar la carga.
  • Topología del servicio:ayuda a enrutar el tráfico del servicio según la topología del clúster.
  • Orquestación de almacenamiento:monta el sistema de almacenamiento de su elección, como almacenamiento local o servicios de almacenamiento de proveedor de nube.
  • Escalado:escala su aplicación hacia arriba o hacia abajo según el uso de la CPU a través de CLI o una GUI.
  • Reparación automática:reinicia los contenedores fallidos, elimina los contenedores que no responden a las solicitudes de los usuarios y ayuda a recuperar los contenedores que no responden a su verificación de estado.

Casos de uso, eficiencia y reducción de costos

Has visto las ventajas de K8, pero ahora te mostraré por qué cualquier empresa puede beneficiarse de Kubernetes. Las empresas necesitan que sus productos estén disponibles para sus clientes de forma rápida y fiable. Kubernetes ayuda a lograr exactamente eso. Divide sus componentes en microservicios, que pueden ser el foco de atención de equipos más pequeños. Posteriormente, las partes se integran juntas a través de las API. De esta manera, cada equipo tiene un enfoque más pequeño y hace que el proceso de lanzamiento general sea más rápido.

Escalabilidad mejorada

En los tiempos modernos, donde la carga del usuario cambia dinámicamente, nunca se sabe cuándo ocurrirá el tiempo de inactividad. Supongamos que tiene una venta flash programada para un día en particular. Ese día, la disponibilidad de su aplicación para los clientes es imprescindible. Kubernetes ayuda a escalar los pods, que mantienen la funcionalidad. Además, cuando finaliza la venta, reduce los pods, lo que proporciona una reducción de costos automática.

Disponible para entornos multinube

La mayor ventaja de Kubernetes es que ayuda a las empresas a implementar sus aplicaciones en varios entornos de nube públicos y privados. Le permite usar nubes híbridas, lo que evita el bloqueo de proveedores. También permite a las empresas migrar sus cargas de trabajo, brindándoles el máximo retorno de la inversión (ROI).

[ Aprenda los aspectos básicos del uso de Kubernetes en esta hoja de trucos gratuita. ] 

Resumir

Este único artículo no puede cubrir todos los casos de uso de Kubernetes, pero ahora tiene una idea de cómo surgió K8, qué es y qué puede hacer por usted.


Linux
  1. Qué es un contenedor Docker:una guía introductoria para principiantes

  2. 10 guías de contenedores para administradores de sistemas

  3. Desmitificando Ansible para administradores de sistemas Linux

  4. 5 consejos avanzados de rsync para administradores de sistemas Linux

  5. Puerto serie virtual para Linux

VLAN para administradores de sistemas:conceptos básicos

Los cinco complementos principales de Vim para administradores de sistemas

Guía de inicio rápido de Ansible para administradores de sistemas Linux

Traefik para contenedores Docker en Ubuntu

30 ejercicios de permisos de Linux para administradores de sistemas

40 comandos de red Linux útiles para administradores de sistemas modernos