OpenShift Pipelines

OpenShift Pipelines

Red Hat OpenShift Pipelines ofrece soluciones CI/CD robustas nativas de la nube.

Información básica

  • Modelo: Red Hat OpenShift Pipelines es un operador que habilita capacidades de CI/CD nativas de la nube dentro de Red Hat OpenShift Container Platform. Está construido sobre el marco de código abierto Tekton.
  • Versión: La última versión estable es la 1.20.
  • Fecha de lanzamiento: La versión 1.20 está disponible con OpenShift Container Platform 4.15 y versiones posteriores.
  • Requisitos mínimos: Requiere un clúster existente de Red Hat OpenShift Container Platform. Los requisitos generales del clúster de OpenShift incluyen:
    • RAM: Mínimo 8 GB por máquina de cómputo, 16 GB por máquina de plano de control, 16 GB para máquina de arranque.
    • Procesador: Mínimo 1 vCPU por host.
    • Almacenamiento: Mínimo de 15 GB para el sistema de archivos /var, 1 GB para /usr/local/bin, 1 GB para el directorio temporal, más 15 GB adicionales de espacio sin asignar para el almacenamiento de Docker. Se requiere almacenamiento persistente para la ejecución del pipeline.
    • Sistema operativo: Red Hat Enterprise Linux (RHEL) 7.5 o posterior, o RHEL Atomic Host 7.4.5 o posterior, ejecutándose en nodos Linux.
  • Sistemas operativos compatibles: Red Hat OpenShift Container Platform 4.15, 4.16, 4.17, 4.18, 4.19. Se ejecuta en nodos Linux dentro de un entorno de clúster mixto.
  • Última versión estable: 1.20.
  • Fecha de fin de soporte: Sigue la política de ciclo de vida de la plataforma de contenedores Red Hat OpenShift.
  • Fecha de fin de vida útil: Sigue la política de ciclo de vida de la plataforma de contenedores Red Hat OpenShift.
  • Fecha de caducidad de la actualización automática: No especificada explícitamente; las actualizaciones se gestionan a través del marco de trabajo OpenShift Operator.
  • Tipo de licencia: Basada en suscripción, disponible con una suscripción a Red Hat OpenShift.
  • Modelo de despliegue: Desplegado como operador dentro de un clúster de Red Hat OpenShift Container Platform. Es una solución CI/CD nativa de la nube.

Requisitos técnicos

  • RAM: Las solicitudes y los límites de recursos para las tareas de la canalización (pods) son configurables. OpenShift Pipelines se ejecuta dentro del clúster de OpenShift, que requiere un mínimo de 8 GB de RAM para los nodos de cómputo y 16 GB para los nodos del plano de control.
  • Procesador: Las solicitudes de recursos y los límites para las tareas de la canalización (pods) son configurables. El clúster OpenShift subyacente requiere un mínimo de 1 vCPU por host.
  • Almacenamiento: El almacenamiento persistente es necesario para que las tareas compartan contenido dentro de una canalización. OpenShift Container Platform requiere un mínimo de 15 GB para el sistema de archivos /var y espacio adicional sin asignar para el almacenamiento de contenedores.
  • Visualización: Acceso a través de la consola web de OpenShift Container Platform (compatible con navegadores web estándar).
  • Puertos: Utiliza los puertos de comunicación estándar de clústeres de Kubernetes y OpenShift. Los puertos específicos para webhooks y escuchadores de eventos pueden protegerse con HTTPS.
  • Sistema operativo: Red Hat OpenShift Container Platform, ejecutándose en Red Hat Enterprise Linux (RHEL) o RHEL CoreOS.

Análisis de requisitos técnicos: Los requisitos técnicos de Red Hat OpenShift Pipelines están intrínsecamente ligados a la plataforma de contenedores OpenShift subyacente. La asignación de recursos (CPU, memoria, almacenamiento) para las tareas de la canalización es dinámica y configurable en cada paso, lo que permite un control y una optimización precisos. Esta flexibilidad implica que el consumo total de recursos se adapta a la complejidad y la concurrencia de las cargas de trabajo de CI/CD. Los administradores deben gestionar las cuotas de recursos y los rangos de límites dentro de los proyectos de OpenShift para evitar la contención de recursos y garantizar un funcionamiento eficiente.

Soporte y compatibilidad

  • Última versión: 1.20.
  • Compatibilidad con sistemas operativos: Red Hat OpenShift Container Platform versiones 4.15, 4.16, 4.17, 4.18, 4.19. Se ejecuta en nodos Linux.
  • Fecha de fin de soporte: Alineada con el ciclo de vida de soporte de la versión específica de Red Hat OpenShift Container Platform en la que se implementa.
  • Localización: Como producto de Red Hat, se espera que admita las opciones de localización estándar de productos de Red Hat disponibles a través de la consola de OpenShift Container Platform.
  • Controladores disponibles: No aplicable en el sentido tradicional para software de CI/CD. Aprovecha los recursos de Kubernetes y las imágenes de contenedores, con la posibilidad de crear imágenes mediante herramientas como S2I, Buildah, JIB y Kaniko.

Análisis del estado general de soporte y compatibilidad: Red Hat OpenShift Pipelines ofrece una sólida compatibilidad gracias a su integración directa con Red Hat OpenShift Container Platform, lo que garantiza una experiencia de CI/CD cohesiva. Su base en Tekton proporciona portabilidad entre distribuciones de Kubernetes. El soporte es integral, vinculado a las suscripciones empresariales de OpenShift de Red Hat, e incluye acceso al soporte colaborativo de Red Hat. La compatibilidad se mantiene con versiones específicas de OpenShift Container Platform, lo que garantiza la estabilidad y el acceso a las últimas funciones.

Estado de seguridad

  • Características de seguridad:
    • Construido sobre Tekton con seguridad reforzada e integraciones.
    • Tekton Chains para la seguridad de la cadena de suministro: firma ejecuciones de tareas, resultados de ejecuciones de tareas e imágenes del registro OCI mediante claves criptográficas (p. ej., x509, cosign). Admite formatos de atestación como in-toto y almacenamiento seguro de firmas.
    • Secretos de autenticación: Admite kubernetes.io/basic-auth y kubernetes.io/ssh-auth para la autenticación de Git y del registro de contenedores a través de cuentas de servicio o espacios de trabajo.
    • Restricciones de contexto de seguridad (SCC): Aplica políticas de seguridad para contenedores, impidiendo de forma predeterminada el uso de contenedores privilegiados y restringiendo el acceso a los recursos del host.
    • Webhooks seguros: Los listeners de eventos se pueden proteger con HTTPS y terminación TLS re-encriptada.
    • Contenedores confidenciales (CoCo): Extiende el aislamiento de pods mediante la ejecución de pods en entornos de ejecución confiables (TEE) cifrados y aislados por hardware para proteger los datos y el código de usuarios privilegiados e infraestructura no confiable.
    • Escaneo de imágenes: Se integra con herramientas como Clair y Sysdig Secure para el escaneo de vulnerabilidades de imágenes de contenedores.
    • Control de acceso: Aprovecha el control de acceso basado en roles (RBAC) y OAuth de OpenShift para gestionar los privilegios de usuario y el acceso federado.
    • Lista de materiales de software (SBOM): Proporciona listados detallados de los componentes de PipelineRun.
  • Vulnerabilidades conocidas: Se han abordado CVE específicos en versiones anteriores, como CVE-2023-39325 y CVE-2023-44487 (Ataque de reinicio rápido HTTP/2) en la versión 1.12. Las vulnerabilidades generales en los componentes subyacentes (por ejemplo, Golang) se supervisan y corrigen continuamente.
  • Estado en la lista negra: No aplicable.
  • Certificaciones: Los productos certificados por Red Hat cumplen con los rigurosos criterios y el marco de soporte colaborativo de Red Hat, que incluyen análisis continuos de vulnerabilidades.
  • Soporte de cifrado: Firma criptográfica de artefactos, HTTPS para comunicación segura y cifrado con respaldo de hardware para datos en uso a través de contenedores confidenciales.
  • Métodos de autenticación: Autenticación básica (nombre de usuario/contraseña), autenticación basada en SSH para Git y registros de contenedores. OpenShift admite los proveedores de identidad HTPasswd, OpenStack Keystone, LDAP, GitHub y OpenID Connect.
  • Recomendaciones generales: Implemente restricciones de contexto de seguridad (SCC) personalizadas y cuentas de servicio para las ejecuciones de pipelines. Utilice imágenes de contenedor de confianza y actualice periódicamente las imágenes base. Emplee herramientas de escaneo de imágenes y aplique la segmentación de red.

Análisis de la calificación general de seguridad: Red Hat OpenShift Pipelines ofrece una sólida postura de seguridad, profundamente integrada con las robustas características de seguridad de OpenShift Container Platform. La inclusión de Tekton Chains para la seguridad de la cadena de suministro, mecanismos de autenticación integrales y funciones avanzadas como los contenedores confidenciales demuestran un compromiso con la seguridad del proceso de CI/CD, desde el código hasta la implementación. La monitorización continua, la gestión de vulnerabilidades y el cumplimiento de los estándares de certificación de Red Hat mejoran aún más su calificación de seguridad.

Rendimiento y puntos de referencia

  • Puntuaciones de referencia: No hay puntuaciones de referencia públicas específicas disponibles para Red Hat OpenShift Pipelines como producto independiente. El rendimiento se evalúa en el contexto de la utilización de recursos del clúster de OpenShift.
  • Métricas de rendimiento en entornos reales: Las canalizaciones se ejecutan bajo demanda en contenedores aislados, escalando dinámicamente según la carga de trabajo. El rendimiento puede mejorarse aumentando el número de nodos de OpenShift y habilitando el modo de alta disponibilidad para el controlador de la canalización. El consumo de recursos se gestiona mediante las cuotas y los rangos de límites de recursos de OpenShift, lo que permite una asignación eficiente de CPU, memoria y almacenamiento efímero por tarea.
  • Consumo de energía: No es directamente medible para el software. La ejecución eficiente en el uso de recursos dentro de OpenShift contribuye a optimizar el consumo de energía de la infraestructura subyacente.
  • Huella de carbono: No es directamente medible para el software. El uso optimizado de recursos y la escalabilidad eficiente contribuyen a reducir el impacto ambiental de la infraestructura informática.
  • Comparación con activos similares: Como solución CI/CD nativa de la nube construida sobre Tekton, compite con herramientas CI/CD tradicionales como Jenkins, GitLab CI y Argo CD, y ofrece ventajas nativas de Kubernetes sobre estas, al proporcionar canalizaciones sin servidor y escalado bajo demanda.

Análisis del rendimiento general: Red Hat OpenShift Pipelines ofrece un alto rendimiento gracias a su diseño nativo de Kubernetes, que permite la ejecución aislada y bajo demanda de tareas de pipeline. Su capacidad de escalado dinámico e integración con las funciones de gestión de recursos de OpenShift garantiza un uso eficiente de los recursos del clúster. Si bien no se publican benchmarks específicos, el enfoque en la optimización de recursos y las configuraciones de alta disponibilidad indica un fuerte énfasis en mantener el rendimiento bajo cargas variables.

Reseñas y comentarios de los usuarios

Los comentarios de los usuarios destacan las fortalezas de Red Hat OpenShift Pipelines al proporcionar una experiencia de CI/CD nativa de Kubernetes. Los usuarios valoran su base en Tekton, que ofrece portabilidad y ejecución sin servidor, eliminando la sobrecarga de administrar un servidor de CI/CD central. La profunda integración con la plataforma de contenedores OpenShift, incluyendo la consola web y la CLI, representa una ventaja significativa para desarrolladores y operadores.

Fortalezas:

  • Enfoque nativo de la nube y nativo de Kubernetes para CI/CD.
  • Automatiza la entrega de aplicaciones y reduce el tiempo de comercialización.
  • Escalas a demanda con resultados aislados, repetibles y predecibles.
  • Sólidas medidas de seguridad, incluyendo seguridad en la cadena de suministro con Tekton Chains y computación confidencial.
  • Sin costes operativos asociados a la gestión de un servidor CI/CD central.
  • Pipelines declarativos como código, integrados con el código fuente de la aplicación.
  • Extensibilidad con diversas herramientas de Kubernetes para la creación de imágenes (S2I, Buildah, JIB, Kaniko).

Debilidades:

  • El consumo de recursos requiere una gestión y configuración cuidadosas de cuotas y límites para evitar la degradación del rendimiento en entornos multiusuario.
  • El rendimiento puede verse afectado por un gran número de tareas simultáneas si el clúster OpenShift subyacente no está adecuadamente escalado o configurado para alta disponibilidad.
  • Requiere un clúster existente de Red Hat OpenShift Container Platform, lo que podría ser una barrera para entornos que aún no utilizan OpenShift.

Casos de uso recomendados:

  • Integración continua y entrega continua (CI/CD) para aplicaciones nativas de la nube.
  • Canalizaciones de IA/ML que requieren entrega automatizada.
  • Modernización de aplicaciones y flujos de trabajo GitOps.
  • Entornos con equipos descentralizados que trabajan en arquitecturas de microservicios.
  • Cargas de trabajo que requieren una sólida seguridad en la cadena de suministro y protección de los datos en uso.

Resumen

Red Hat OpenShift Pipelines es una solución robusta de integración continua/entrega continua (CI/CD) nativa de la nube, basada en el framework de código abierto Tekton y profundamente integrada con Red Hat OpenShift Container Platform. Su principal fortaleza reside en proporcionar pipelines nativos de Kubernetes que automatizan la entrega de aplicaciones, ofreciendo escalado bajo demanda y ejecución en contenedores aislados, eliminando así la necesidad de un servidor CI/CD tradicional y centralizado.

Entre sus principales ventajas destacan sus completas funciones de seguridad, como Tekton Chains para la integridad de la cadena de suministro (firma de artefactos y certificaciones), métodos de autenticación robustos que aprovechan las restricciones y secretos del contexto de seguridad de OpenShift, y protección avanzada de los datos en uso mediante contenedores confidenciales. Esto lo hace idóneo para cargas de trabajo reguladas y sensibles a la seguridad.

Si bien OpenShift ofrece una gran flexibilidad y escalabilidad, la gestión del consumo de recursos en proyectos OpenShift requiere una configuración cuidadosa de cuotas y límites para optimizar el rendimiento, sobre todo en entornos multiusuario o de alta concurrencia. El rendimiento puede mejorarse escalando el clúster OpenShift subyacente y habilitando funciones de alta disponibilidad.

En resumen, Red Hat OpenShift Pipelines es una excelente opción para las organizaciones que utilizan OpenShift para sus cargas de trabajo en contenedores, especialmente aquellas que adoptan arquitecturas de microservicios, GitOps o que requieren alta seguridad y auditabilidad en sus procesos de entrega de software. Su estrecha integración con el ecosistema de OpenShift proporciona una experiencia de desarrollo optimizada y soporte de nivel empresarial.

La información proporcionada se basa en datos de dominio público y puede variar según la configuración específica del dispositivo. Para obtener información actualizada, consulte los recursos oficiales del fabricante.