GNU/Linux >> Tutoriales Linux >  >> Cent OS

Kubernetes para portabilidad de nubes múltiples e híbridas

Introducción

Las estrategias híbridas y de nubes múltiples se hicieron populares debido a sus ventajas competitivas, como la falta de dependencia del proveedor, un mejor rendimiento de las aplicaciones, flexibilidad y mitigación de desastres. Sin embargo, los ecosistemas que comprenden diferentes proveedores de nube tienden a ser complejos y difíciles de administrar.

Este artículo presenta a Kubernetes como una forma eficaz de lograr la portabilidad de las aplicaciones al simplificar la configuración y el mantenimiento de su ecosistema híbrido o de varias nubes.

Nube híbrida frente a múltiples nubes

Cada conjunto de cargas de trabajo, infraestructura y procesos específicos de la empresa requiere una estrategia diferente hecha a la medida que responda a sus necesidades. Dada esta falta de uniformidad, a menudo es difícil hablar de definiciones claras de soluciones de nubes múltiples e híbridas. Sin embargo, podemos hacer la siguiente distinción amplia.

Un entorno de nube híbrida consta de cargas de trabajo implementadas en más de un entorno informático, con al menos un entorno privado y una nube pública.

Con la nube múltiple, una empresa depende de múltiples ofertas de nube pública en lugar de utilizar un solo proveedor. Cada una de las nubes se utiliza luego para cumplir una función específica. Por ejemplo:

  • Se puede proporcionar un entorno separado para el desarrollo y las pruebas.
  • Otro puede almacenar datos confidenciales, patentados o clasificados.
  • Mientras que un tercero brinda la misma calidad de servicio en todas partes, independientemente de la región, etc.

Kubernetes en entorno híbrido y multinube

El problema principal con el uso de varios entornos para el desarrollo de aplicaciones es que esos entornos generalmente se ejecutan en diferentes sistemas operativos y tienen dependencias específicas del sistema.

Un enfoque anterior para resolver este problema fue crear proyectos aislados con configuraciones y requisitos aislados y administrarlos de forma independiente. Si bien predecir el rendimiento y la carga de trabajo a pequeña escala puede ser una tarea manejable, es absolutamente imposible mantenerse al día a mayor escala. Esta imprevisibilidad es la razón por la cual la actualización de aplicaciones y sistemas operativos en este escenario tiende a ser propensa a errores.

Kubernetes ofrece una solución a estos problemas con su enfoque independiente del entorno. Como plataforma portátil, extensible y rica en funciones, Kubernetes facilita la configuración y la automatización, lo que ayuda a administrar las cargas de trabajo y la migración entre nubes.

Beneficios de usar Kubernetes con nubes híbridas y múltiples

Kubernetes se basa en conceptos que admiten la portabilidad, lo que lo convierte en una buena opción para entornos informáticos híbridos y de varias nubes. Algunos de estos conceptos son:

  • Servicio - Un servicio es una abstracción diseñada para exponer una aplicación (ejecutándose en un conjunto de pods o contenedores) y proporcionar una política para acceder a ella, creando un microservicio. Esta abstracción permite reemplazar, escalar o reiniciar pods sin problemas cuando surge la necesidad, sin afectar todo el entorno.
  • Ingreso - Un objeto API que administra el acceso externo a los servicios al exponer las rutas HTTP y HTTPS a los servicios en el clúster. Ingress brinda URL de servicios a los que se accede externamente.
  • Controlador de entrada - Un controlador que habilita la función Ingress mediante la implementación de reglas de enrutamiento. Se configura más comúnmente usando un balanceador de carga.
  • Volumen - La abstracción de volumen de Kubernetes permite una gestión más sencilla de la mecánica de almacenamiento. Los volúmenes conservan los datos en los reinicios del contenedor y hacen que los datos estén disponibles para todos los contenedores en un pod.
  • Mapa de configuración y secreto:estos conceptos facilitan el almacenamiento de configuración e información confidencial en todo el clúster.

Otra ventaja de utilizar Kubernetes en nubes híbridas y múltiples es que permite escalar más fácilmente. Administrar proyectos aislados en centros de datos es difícil, especialmente en el entorno de varias nubes.

La tolerancia a fallas y la reparación automática integradas de Kubernetes hacen posible escalar los recursos hacia arriba y hacia abajo con facilidad. Le permite aprovechar al máximo las soluciones en la nube automatizadas, como Bare Metal Cloud, que admite el escalado de recursos según demanda.

Kubernetes está diseñado para estandarizar muchos aspectos de la definición e implementación de aplicaciones, así como el modelo operativo. Esto facilita que los desarrolladores estandaricen su ciclo de vida de desarrollo de software.

Limitaciones de Kubernetes en nubes híbridas y múltiples

Hay un par de puntos que debe tener en cuenta antes de implementar Kubernetes en un entorno híbrido y de varias nubes:

  • La elección de varios proveedores para evitar el bloqueo de proveedores es uno de los beneficios citados a menudo del enfoque de múltiples nubes. Sin embargo, si decide implementar Kubernetes en este entorno, tenga en cuenta que está creando otro bloqueo, esta vez con el mismo Kubernetes.
  • Con Kubernetes, debe organizar sus aplicaciones en contenedores. La creación de contenedores puede no ser la mejor manera de avanzar en algunos escenarios, como con aplicaciones heredadas o aplicaciones con una fuerte dependencia de arquitecturas de hardware específicas.
  • Todos los proveedores de la nube ofrecen servicios nativos, incluidas optimizaciones y asistencia con la administración del almacenamiento. Emplear Kubernetes para hacer que su entorno sea independiente del proveedor también significa renunciar a todos los beneficios que ofrece el proveedor.
  • Aunque Kubernetes recorre un largo camino en la automatización de procesos, aún necesita administrar su infraestructura y enfrentar dependencias de infraestructura.

Los factores enumerados anteriormente resaltan la importancia de realizar un análisis exhaustivo antes de adoptar Kubernetes en la nube múltiple.

Cómo administrar Kubernetes de manera eficiente en nubes híbridas y múltiples

Si decidió que Kubernetes es una buena opción para su entorno híbrido y de múltiples nubes, aquí tiene algunos consejos para aprovechar al máximo este ecosistema.

Planifique la configuración de su clúster

Los dos escenarios de configuración más comunes son un solo clúster con nodos distribuidos o varios clústeres para cada nube. Si opta por el escenario de un solo clúster, inspeccione la comunicación entre los nodos en diferentes nubes para asegurarse de que los nodos estén configurados correctamente.

Estandarice sus clústeres

Si bien Kubernetes ayuda con los esfuerzos de estandarización, las implementaciones de múltiples nubes tienden a ser las más difíciles de estandarizar, y las diferencias entre proveedores a menudo causan problemas. Evite los contenedores específicos de la nube, aunque es más fácil optimizarlos para que funcionen en un entorno particular. En su lugar, utilice opciones independientes del proveedor para obtener los mejores resultados de estandarización.

Usar herramientas de automatización de terceros

Kubernetes es una excelente herramienta de automatización, pero la automatización de múltiples nubes requiere un conjunto de habilidades más avanzado. Si posee la experiencia, esto no presenta un problema. Si no lo hace, considere las herramientas de automatización de terceros.

Use la infraestructura que se ajuste a sus necesidades

Agregar una capa de abstracción para compensar las diferencias en los proveedores de la nube debería ser el último recurso para administrar un entorno de múltiples nubes. Una mejor solución es analizar sus necesidades y elegir servicios que brinden soporte nativo para su caso de uso.

Implementar una red de servicios  

Utilice una red de servicios para automatizar las respuestas a los problemas de seguridad. Con supervisión en tiempo real y respuestas automáticas, una red de servicios facilita la gestión de la comunicación del clúster y el control de la implementación.

Autoadministración de versiones de Kubernetes

Kubernetes como servicio (KaaS), ofrecido por un proveedor de la nube, administra su entorno actualizando y mejorando el sistema. Sin embargo, esto proporciona poco control cuando se trata de compatibilidad. Esta falta de control es la razón por la que a menudo es una mejor idea autogestionar la implementación.


Cent OS
  1. CLIENTE OPENVPN Para Windows y Linux

  2. Para cambiar el permiso de directorio y archivos

  3. Bash For Loop Guía y ejemplos

  4. Análisis de casos a favor y en contra de la configuración del espacio de intercambio en instancias de nube

  5. cloudHQ:sincronice Google Apps y G Suite con cuentas en la nube de forma gratuita

Cómo calcular el costo de la nube híbrida

Uso de HAProxy para el equilibrio de carga en la nube E2E:permanencia y seguridad de la sesión

Cómo instalar y usar Helm en Kubernetes

Conceptos básicos de Kubernetes para administradores de sistemas

Cómo FileRun en Debian 11:¡una nube gratuita y privada para nosotros!

Preguntas frecuentes sobre el inicio de sesión sin problemas entre MyRackspace y el panel de control en la nube