Kubernetes vs OpenShift: What’s The Difference?

Kubernetes vs OpenShift: ¿Cuál es la diferencia?

  • ITOps y DevOps
6 min de lectura Actualizado Nov 3, 2020

Puntos clave: Kubernetes y OpenShift son plataformas clave para la orquestación de contenedores, cada una con características únicas. Kubernetes es un framework flexible y de código abierto, mientras que OpenShift, construido sobre Kubernetes, ofrece una solución comercial con soporte adicional y herramientas integradas.

  • Kubernetes destaca por su flexibilidad de despliegue en diversas plataformas en la nube.
  • OpenShift incluye componentes integrados que mejoran la usabilidad y la seguridad.

En cuanto a orquestación de contenedores, Kubernetes y OpenShift son las opciones más destacadas que no se pueden ignorar. Mientras comparamos ambos, hay que tener en cuenta que se complementan bastante bien; de hecho, Kubernetes es un componente importante de la plataforma OpenShift.

Además, gracias a sus configuraciones robustas y escalables, ambas tecnologías ofrecen la posibilidad de:

  • Desarrollo de aplicaciones a gran escala
  • Gestión
  • Despliegue

En este artículo, analizaremos estas dos populares plataformas de orquestación de contenedores y exploraremos sus diferencias fundamentales.

Kubernetes

Logotipo de Kubernetes

Google desarrolló Kubernetes como una plataforma de contenedores como servicio de código abierto y portátil que permite a una organización administrar servicios para: despliegue automatizado, escalado y gestión de cargas de trabajo de aplicaciones. Adoptado por la Cloud Native Computing Foundation (CNCF), Kubernetes ofrece funcionalidades listas para usar como:

  • Automatización de procesos
  • Balanceo de carga
  • Automonitorización
  • Orquestación de almacenamiento

OpenShift

Logotipo de Red Hat

OpenShift de Red Hat está una plataforma de contenedores basada en la nube que funciona tanto como Plataforma como Servicio como Motor de Orquestación de Contenedores. En esencia, OpenShift están una herramienta de código abierto que aprovecha la plataforma Kubernetes para gestionar contenedores Docker de forma consistente:

Con OpenShift, los desarrolladores pueden desplegar aplicaciones contenedorizadas en un Entorno de Desarrollo Integrado (IDE), mientras emplean Kubernetes para gestionarlas.

OpenShift

Comparando Kubernetes y OpenShift

Tanto Kubernetes como OpenShift funcionan con una licencia Apache 2.0 y ayudan en la gestión y despliegue de aplicaciones a gran escala. Sin embargo, son diferencias fundamentales en la forma en que cada una de estas tecnologías ofrece su funcionalidad.

Comparemos las características principales de cada uno.

Proyecto Kubernetes vs Producto OpenShift

Kubernetes fue creado como un proyecto de marco de código abierto. K8s está gestionado mediante una colaboración continua entre usuarios de la comunidad global de desarrolladores. Aunque esto significa que el soporte está hecho por sí mismo, también tú te beneficias del conocimiento entre iguales y la colaboración dentro de la comunidad de código abierto.

OpenShift está disponible tanto como:

  • Un producto comercial (OpenShift Container Platform)
  • Nube pública (OpenShift Online y OpenShift Dediced)

La Plataforma de Contenedores OpenShift está desarrollada, gestionada y administrada por desarrolladores de Red Hat Inc., y viene acompañada de una suscripción de pago para la administración y la gestión de infraestructuras. Esto significa que los usuarios reciben soporte dedicado, con actualizaciones periódicas. Por otro lado, la versión de código abierto de OpenShift, también conocida como OKD, está una plataforma de edición comunitaria que está restringida a la 'autosoporte'.

Compatibilidad e instalación

Con la creciente popularidad y los casos de utiliza de Kubernetes, la lista de herramientas compatibles con Kubernetes ha crecido exponencialmente. Esto sigue siendo una consideración importante entre los desarrolladores, que ofrece esencialmente la libertad de elección en cuanto a plataforma, complejidad y actualizaciones.

Más importante aún, una aceptación más amplia de Kubernetes también se está debiendo a que Kubernetes dispone de Servicios Gestionados en las tres principales plataformas de nube pública:

  • GKE para el GCP de Google
  • AKS for Azure
  • EKS para Amazon AWS

Por el contrario, OpenShift ofrece opciones de instalación limitadas, ya que solo te puede instala en tres distribuciones de Linux:

  • Para OpenShift 3, te necesitará utiliza Red Hat Atomic o Red Hat Enterprise Linux (RHEL).
  • Para instalar OpenShift 4, te necesitarás RedHat CoreOS.
  • Instalar la versión de código abierto (OKD) requiere CentOS o RHEL.

Kubernetes carece de capacidades integradas para autenticación y autorización. Esto requiere la creación manual de procedimientos de autenticación, como el portador de tokens para la seguridad. Cuando el protocolo de seguridad en Kubernetes no está bien definido, el tráfico dentro de un clúster Kubernetes por defecto también carece de cifrado. Como resultado, una instancia de Kubernetes lista para usar están considerada más susceptible a vectores de ataque.

OpenShift tiene políticas de seguridad estrictas y bien definidas. Por ejemplo, OpenShift restringe la ejecución de contenedores Docker como simples imágenes. Para mantener un nivel mínimo de seguridad en OpenShift, te requerirá tener privilegios específicos de administrador. Además, OpenShift ofrece un servidor integrado para facilitar la autenticación y autorización.

La interfaz web de Kubernetes es compleja y no se recomienda para principiantes. Para acceder a la interfaz gráfica web de Kubernetes, te deberás instalar el panel de Kubernetes y reenviar la dirección del puerto de tu máquina local al servidor del clúster usando kube-proxy. Como el panel carece de página de inicio de sesión, tú también tendrás que Crea tokens portadores que faciliten la autorización y autenticación.

Por el contrario, OpenShift tiene una consola web intuitiva con una página de inicio de sesión con un solo toque. La consola te ofrece una interfaz sencilla basada en formularios que te permite modificar, añadir y eliminar recursos fácilmente. También es más fácil visualizar tus roles, proyectos y servidores del clúster.

Kubernetes están un framework de código abierto que puede desplegarse en:

  • Cualquier plataforma de nube pública importante: Azure, AWS o GCP
  • Cualquier distribución de Linux, incluyendo Ubuntu y Debian

Para desplegar contenedores Kubernetes, te necesitarás Kubernetes Objects que puedan manejar actualizaciones simultáneas fácilmente.

Para desplegar OpenShift, te necesitarás distribuciones RHEL, Red Hat CoreOS o CentOS Linux. El despliegue se están realizados usando el comando DeploymentConfig, que no puede implementarse con controladores, sino que puede usarse mediante lógicas dedicadas de pod.

Aunque DeploymentConfig no soporta actualizaciones concurrentes como los objetos Kubernetes, el despliegue de OpenShift, sin embargo, tiene ciertas ventajas, incluyendo el versionado y los disparadores automáticos de despliegue.

Entrega continua/integración continua

Kubernetes no ofrece una solución integral de CI/CD de fábrica. Sin embargo, te puede combinarlo con herramientas como servidores automatizados de monitorización, pruebas y CI para ayudar a te Crea toda una cadena CI/CD. Además, plugins de terceros, como CircleCI, pueden ayudar a construir Pipelines CI/CD más rápidos en Kubernetes de forma fluida.

Aunque tampoco es una solución completa de CI/CD, OpenShift cuenta con un contenedor Jenkins integrado y certificado que actúa como servidor CI. El siguiente diagrama muestra una pipeline típica de CI/CD formada por Jenkins (para el motor CI/CD), Git, Nexus Repository y SonarQube (para SAST):

Diagrama de flujo por desplazamiento abierto

Gestión del Registro de Imágenes

te puede configura tu propio registro Docker en Kubernetes, pero la plataforma carece de un registro de imágenes integrado. Sin embargo, Kubernetes permite te extraer imágenes de un registro privado para Crea tus propios pods.

Por el contrario, con un registro de imágenes integrado, OpenShift se empareja perfectamente con DockerHub o Red Hat. Los desarrolladores pueden buscar y gestionar fácilmente imágenes contenedor usando flujos de imágenes.

Kubernetes soporta múltiples actualizaciones que ocurren simultáneamente. La actualización es sencilla, ya que solo tienes que invocar el comando kubeadm upgrade para Obtén la versión reciente. Siempre se está recomendable que te hagas una copia de seguridad de los archivos de instalación existentes antes de actualizar a una versión más reciente.

OpenShift no soporta actualizaciones múltiples y simultáneas automáticamente. te necesitará acceder al sistema de gestión de paquetes Red Hat Enterprise Linux, a través del cual te puede instala la versión más reciente de OpenShift.

Resumen de K8s frente a OpenShift

Tanto Kubernetes como OpenShift son excelentes opciones para el despliegue a gran escala de aplicaciones contenedorizadas. Aunque Kubernetes es popular entre la mayoría de las organizaciones debido a sus opciones flexibles de despliegue, OpenShift ofrece soporte dedicado y cuenta con numerosos componentes integrados que simplifican la contenedorización de aplicaciones, lo que lo hace popular tanto en metodologías Ágiles como DevOps.

Kubernetes está indudablemente la opción preferida para aplicaciones de alta demanda que requieren actualizaciones constantes; OpenShift ofrece una solución integral que está perfecta para empresas que requieren soporte constante y dedicado.

¿te tienes algún caso utiliza que compartir que prefiera alguna de estas o cualquier otra plataforma de orquestación? ¡Cuéntanoslo!

Recursos adicionales

Para más información sobre este tema, explora estos recursos:

Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.

Más de ITOps y DevOps

¿Te interesa saber más de BMC?

El Brief están nuestro correo mensual sobre el mainframe y la orquestación empresarial: investigación, historias de clientes, noticias de productos, eventos.

Al registrarse para esta oferta te son confirmar que te leído y aceptado la Política de Privacidad de BMC.

Tú te has suscrito a The Brief

El Brief abarca la orquestación de mainframe y empresa—BMC AMI y Control-M—y la investigación de analistas, despliegues de clientes y eventos en ambas áreas.