OpenShift

Summary

OpenShift es una familia de productos de software de contenedorización desarrollados por Red Hat. Su producto estrella es OpenShift Container Platform, una plataforma de nube híbrida como servicio construida alrededor de contenedores Linux orquestados y administrados por Kubernetes sobre una base de Red Hat Enterprise Linux CoreOS. Los demás productos de la familia proporcionan esta plataforma a través de diferentes entornos: OKD funciona como el upstream impulsado por la comunidad (similar a la forma en que Fedora es upstream de Red Hat Enterprise Linux), hay varios métodos de implementación disponibles, incluidos los autoadministrados, nativos de la nube bajo ROSA (Red Hat OpenShift Service en AWS), ARO (Azure Red Hat OpenShift) y RHOIC (Red Hat OpenShift en IBM Cloud), OpenShift Online como software como servicio y OpenShift Dedicated como un servicio administrado.

OpenShift
Información general
Tipo de programa software libre
Lanzamiento inicial 4 de mayo de 2011
Información técnica
Programado en
Versiones
Última versión estable 4.177 de octubre de 2024
Enlaces
Sitio web oficial

La consola OpenShift tiene vistas orientadas a desarrolladores y administradores. Las vistas de administrador permiten supervisar los recursos y el estado del contenedor, administrar usuarios, trabajar con operadores, etc. Las vistas de desarrollador están orientadas a trabajar con recursos de la aplicación dentro de un espacio de nombres. OpenShift también proporciona una CLI que admite un superconjunto de las acciones que proporciona la CLI de Kubernetes.

Historia

editar

OpenShift surgió originalmente de la adquisición por parte de Red Hat de Makara, una empresa que comercializa una plataforma como servicio (PaaS) basada en contenedores Linux, en noviembre de 2010.[1][2][3]​ OpenShift se anunció en mayo de 2011 como tecnología propietaria, publicándose como código abierto en 2012.[4]​ Hasta la versión v3, lanzada en junio de 2015, la tecnología de contenedores y la tecnología de orquestación de contenedores utilizaban tecnologías desarrolladas a medida. Esto cambió en la versión 3 con la adopción de Docker como tecnología de contenedores y Kubernetes como tecnología de orquestación de contenedores.[5]​ El producto v4 tiene muchos otros cambios arquitectónicos, siendo uno destacado el cambio al uso de CRI-O como entorno de ejecución de contenedores (y Podman para interactuar con pods y contenedores), y Buildah como herramienta de construcción de contenedores, rompiendo así la dependencia exclusiva de Docker.[6]

Arquitectura

editar

La principal diferencia entre OpenShift y Kubernetes original es el concepto de artefactos relacionados con la compilación. En OpenShift, dichos artefactos se consideran recursos de Kubernetes de primera clase sobre los cuales se pueden aplicar operaciones de Kubernetes estándar. El programa cliente de OpenShift, "oc", ofrece un superconjunto de las capacidades estándar incluidas en el programa cliente principal "kubectl" de Kubernetes.[7]​ Al utilizar este cliente, se puede interactuar directamente con los recursos relacionados con la compilación mediante subcomandos (como "new-build" o "start-build"). Además de esto, una tecnología de compilación de pods nativa de OpenShift llamada Source-to-Image (S2I) está disponible lista para usar, aunque está siendo eliminada gradualmente en favor de Tekton, que es una forma nativa de la nube de compilar e implementar en Kubernetes. Para la plataforma OpenShift, esto proporciona capacidades equivalentes a las que Jenkins puede hacer.

Algunas otras diferencias cuando se compara OpenShift con Kubernetes:

  1. La instalación lista para usar de OpenShift viene con un repositorio de imágenes de contenedores.
  2. ImageStreams (una secuencia de punteros a imágenes que pueden asociarse con implementaciones) y Templates (un mecanismo de empaquetado para componentes de aplicaciones) son exclusivos de OpenShift y simplifican la implementación y la administración de aplicaciones.
  3. El comando "new-app", que se puede utilizar para iniciar una implementación de aplicación, aplica automáticamente la etiqueta de la aplicación (con el valor de la etiqueta tomado del argumento --name ) a todos los recursos creados como resultado de la implementación. Esto puede simplificar la gestión de los recursos de la aplicación.
  4. En términos de plataformas, OpenShift solía estar limitado a las propias ofertas de Red Hat, pero en 2020 admite otras como AWS, IBM Cloud, vSphere y implementaciones de hardware con OpenShift 4.[8]
  5. La implementación de implementación de OpenShift, llamada DeploymentConfig, se basa en la lógica en comparación con los objetos de implementación basados en el controlador de Kubernetes. [8]​ A partir de la versión v4.5, OpenShift se orienta más hacia las implementaciones al cambiar el comportamiento predeterminado de su CLI.
  6. Un OperatorHub integrado. Esta es una GUI web donde los usuarios pueden explorar e instalar una biblioteca de operadores de Kubernetes que se han empaquetado para una fácil gestión del ciclo de vida. Estos incluyen operadores creados por Red Hat, operadores certificados por Red Hat y operadores de la comunidad.[9]

OpenShift v4 controla estrictamente los sistemas operativos anfitrión utilizados. Los componentes del "plano de control" deben ejecutar Red Hat CoreOS. Este nivel de control permite que el clúster admita actualizaciones y parches de los nodos del plano de control con un mínimo esfuerzo. Los nodos de cómputo pueden ejecutar cualquier sistema operativo Linux o incluso Windows.

OpenShift introdujo el concepto de rutas: puntos de ingreso de tráfico al clúster de Kubernetes. El concepto de ingreso de Kubernetes se modeló a partir de esto.[10]

OpenShift incluye otro software, como entornos de ejecución de aplicaciones, así como componentes de infraestructura del ecosistema Kubernetes. Por ejemplo, para necesidades de observabilidad, se incluyen Prometheus, Fluentd, Vector, Loki e Istio (y sus dependencias). La marca Red Hat de Istio se llama Red Hat Service Mesh, y se basa en un proyecto de código abierto llamado Maistra, que alinea la base de Istio con las necesidades de código abierto OpenShift.

Productos

editar

OpenShift Container Platform

editar

OpenShift Container Platform (anteriormente conocida como OpenShift Enterprise)[11]​ es una plataforma privada local de Red Hat como producto de servicio, construida alrededor de contenedores de aplicaciones impulsados por CRI-O, con orquestación y gestión proporcionadas por Kubernetes, en Red Hat Enterprise Linux y Red Hat Enterprise Linux CoreOS.[12]

OKD

editar

OKD, conocido hasta agosto de 2018 como OpenShift Origin (Origin Community Distribution),[13]​ es el proyecto comunitario utilizado en OpenShift Online, OpenShift Dedicated y OpenShift Container Platform. OKD está construido sobre un núcleo de empaquetado de contenedores Docker y gestión de clústeres de contenedores Kubernetes, y se complementa con funcionalidades de gestión del ciclo de vida de las aplicaciones y herramientas DevOps. OKD proporciona una plataforma de contenedores de aplicaciones de código abierto. Todo el código fuente del proyecto OKD está disponible bajo la licencia Apache (versión 2.0) en GitHub.[14]

Red Hat OpenShift Online

editar

Red Hat OpenShift Online (RHOO) es el servicio de alojamiento y desarrollo de aplicaciones en la nube pública de Red Hat que se ejecuta en AWS e IBM Cloud.[15]

Versión 2 ofrecida en línea  del código fuente del proyecto OKD, que también está disponible bajo la Licencia Apache Versión 2.0. Esta versión admitía una variedad de idiomas, marcos y bases de datos a través de "cartuchos" prediseñados que se ejecutaban bajo "engranajes" de cuotas de recursos. Los desarrolladores podrían agregar otros idiomas, bases de datos o componentes a través de la interfaz de programación de aplicaciones OpenShift Cartridge.[16]​ Esta opción quedó obsoleta en favor de OpenShift 3,[17]​ y se retiró el 30 de septiembre de 2017 para los clientes que no pagaban y el 31 de diciembre de 2017 para los clientes que pagaban.[18]

OpenShift 3 está construido alrededor de Kubernetes. Puede ejecutar cualquier contenedor basado en Docker, pero Openshift Online está limitado a ejecutar contenedores que no requieren root. [17]

Red Hat OpenShift 4 para IBM Z e IBM LinuxONE es compatible con entornos locales, en la nube e híbridos.[19][20]

OpenShift Dedicado

editar

OpenShift Dedicated (OSD) es la oferta de clúster privado administrado de Red Hat, construida alrededor de un núcleo de contenedores de aplicaciones impulsados por Docker, con orquestación y gestión proporcionadas por Kubernetes, sobre una base de Red Hat Enterprise Linux Está disponible en los mercados de Amazon Web Services (AWS), IBM Cloud y Google Cloud Platform (GCP) desde diciembre de 2016.[21][22]​ También se ofrece una oferta de clúster privado administrado en Microsoft Azure bajo el nombre de Azure Red Hat OpenShift (ARO).[23]

Fundación de datos OpenShift

editar

OpenShift Data Foundation (ODF) proporciona almacenamiento nativo en la nube, gestión de datos y protección de datos para aplicaciones que se ejecutan con la plataforma OpenShift Container en la nube,[24]​ localmente y en entornos híbridos/multicloud.

OpenShift Database Access

editar

Red Hat OpenShift Database Access (RHODA) es una capacidad en entornos OpenShift Kubernetes administrados que permite a los administradores configurar conexiones a ofertas de bases de datos como servicio de diferentes proveedores. RHODA es un servicio complementario para OSD y Red Hat OpenShift Service en AWS (ROSA). La versión alfa inicial de RHODA incluía soporte para MongoDB Atlas para MongoDB y Crunchy Bridge para PostgreSQL.[25]

Referencias

editar
  1. «Announcing OpenShift». Archivado desde el original el 26 de septiembre de 2019. Consultado el 26 de septiembre de 2019. 
  2. Joe Fernandes (November 7, 2016). «Why Red Hat Chose Kubernetes for OpenShift». Red Hat Blog. Consultado el August 2, 2021. 
  3. Dave Rosenberg (November 30, 2010). «Red Hat acquires Makara». Archivado desde el original el 26 de septiembre de 2019. 
  4. «Announcing OpenShift Origins». 
  5. «Why Red Hat chose Kubernetes for OpenShift». 
  6. Henry, William (February 21, 2019). «Podman and Buildah for Docker users». Red Hat Developer Blog. Red Hat. Consultado el August 2, 2021. 
  7. Caban, William (2019). «Chapter 2». Architecting and Operating OpenShift Clusters: OpenShift for Infrastructure and Operations Teams. Apress. ISBN 978-1-4842-4984-0. 
  8. a b «Kubernetes vs OpenShift: This is What You Need to Know». The Chief I/O. Archivado desde el original el September 20, 2020. Consultado el August 2, 2021. 
  9. «OpenShift Container Platform 4.15 Documentation», docs.openshift.com .
  10. Kubernetes Ingress vs OpenShift Route .
  11. «OpenShift Container Platform 3.3 Release Notes | Release Notes | OpenShift Container Platform 3.3». docs.openshift.com. 27 September 2016. Consultado el 8 de mayo de 2019. 
  12. «OpenShift Container Platform architecture». OpenShift 4.11 Documentation. Red Hat. Consultado el August 23, 2022. 
  13. «OKD: Renaming of OpenShift Origin with 3.10 Release – Red Hat OpenShift Blog». 3 August 2018. 
  14. «OKD: The Community Distribution of Kubernetes that powers Red Hat's OpenShift». GitHub. 17 August 2022. 
  15. Vaughan-Nichols, Steven J. «Red Hat opens new OpenShift Platform-as-a-Service public cloud – ZDNet». ZDNet. 
  16. «OpenShift Origin Cartridge Developer's Guide». 27 de abril de 2016. Archivado desde el original el 7 de mayo de 2016. Consultado el 27 de abril de 2016. 
  17. a b «Migrating Applications from OpenShift v2 to OpenShift 3 – OpenShift Blog». 18 de mayo de 2017. 
  18. «Get Ready to Migrate to OpenShift Online 3 – OpenShift Blog». 25 August 2017. 
  19. «Install Red Hat OpenShift Container Platform 4 on IBM Z and IBM LinuxONE». Consultado el 2 de noviembre de 2021. 
  20. «Preparing to install with z/VM on IBM Z and LinuxONE». Consultado el 2 de noviembre de 2021. 
  21. Vaughan-Nichols, Steven J. «Red Hat launches OpenShift on Google Cloud – ZDNet». ZDNet. 
  22. «Red Hat Launches OpenShift Dedicated on Google Cloud Platform». www.redhat.com. 8 December 2016. 
  23. «Azure Red Hat OpenShift – Kubernetes PaaS | Microsoft Azure». azure.microsoft.com (en inglés). Consultado el 11 de julio de 2022. 
  24. Fritts, Harold (2 February 2022). «Red Hat OpenShift Data Foundation Becomes Part of Red Hat OpenShift Platform Plus». StorageReview.com (en inglés estadounidense). Consultado el 6 de diciembre de 2022. 
  25. «Simplifying Database Cloud Service Access». 

Lectura adicional

editar
  • Jamie Duncan; John Osborne (May 2018). OpenShift in Action. Manning Publications Co. ISBN 978-1-6172-9483-9. 
  • Stefano Picozzi; Mike Hepburn; Noel O'Conner (May 2017). DevOps with OpenShift. O'Reilly Media. ISBN 978-1-4919-7596-1. 
  • Grant Shipley; Graham Dumpleton (August 2016). OpenShift for Developers. O'Reilly Media. ISBN 978-1-4919-6138-4. 
  • Steve Pousty; Katie Miller (May 2014). Getting Started with OpenShift. O'Reilly Media. ISBN 978-1-4919-0047-5. 

Enlaces externos

editar
  • Sitio web oficial
  •   OpenShift en GitHub.
  • OpenShift Commons
  • OpenShift User Group (German speaking)