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.
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]
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:
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.
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, 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 (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 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]
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.
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]