De Kubernetes a OpenShift: Ventajas de usar una plataforma gestionada de contenedores

De Kubernetes a OpenShift: Ventajas de usar una plataforma gestionada de contenedores

por Raúl Unzué

¿Qué es OpenShift?

OpenShift está en boca de todos cuando hablamos de contenedores y despliegue de aplicaciones en la nube. Pero, ¿qué es realmente? Si alguna vez te preguntaste cómo pasar de Docker a algo más potente o cómo correr tus apps de forma escalable y automatizada, esta guía es para ti. Y si ya estás metido en el mundo de la infraestructura como servicio (como OpenStack), esto te interesa todavía más.

OpenShift es una plataforma de Kubernetes gestionada que automatiza el despliegue, escalado y gestión de aplicaciones en contenedores. Está desarrollada por Red Hat y combina Kubernetes con herramientas y servicios adicionales que facilitan el trabajo a equipos DevOps y de desarrollo.

Mientras que Kubernetes es poderoso, puede ser complejo de manejar por sí solo. OpenShift viene a simplificar esa curva de aprendizaje, aportando seguridad, CI/CD, dashboard web, y muchas cosas listas para usar. De hecho, si estás trabajando con nubes como OpenStack, OpenShift puede ser el siguiente paso natural en tu infraestructura cloud.

Geeknetic De Kubernetes a OpenShift: Ventajas de usar una plataforma gestionada de contenedores 1

Componentes Clave de OpenShift

  1. Master Nodes

    Son los cerebros de la operación. Controlan y orquestan todo el clúster:

    API Server: punto de entrada para comandos y peticiones.

    Scheduler: decide dónde se ejecutan los pods.

    Controller Manager: mantiene el estado deseado de los objetos.

  2. Worker Nodes

    Aquí es donde vive tu aplicación. Ejecutan los pods y están controlados por los masters.

  3. etcd

    La base de datos que guarda el estado completo del clúster. Rápida, distribuida y confiable.

  4. Ingress y Routes

    Controlan el tráfico entrante. OpenShift usa "routes / rutas" para exponer tus servicios al exterior, lo que simplifica bastante la configuración de accesos.

  5. OpenShift Console

    Una interfaz web bastante amigable que permite gestionar proyectos, ver logs, desplegar apps, y todo sin tocar una sola línea de comando (aunque siempre puedes usar "oc" si prefieres la terminal).

  6. Source-to-Image (S2I)

    Un sistema que permite construir imágenes de contenedor directamente desde el código fuente. Ideal para pipelines automáticos de CI/CD.

  7. Image Streams

    Gestionan versiones de imágenes de forma eficiente y segura. Muy útiles para integraciones con Git y despliegues automáticos.

  8. BuildConfigs y DeploymentConfigs

    BuildConfig define cómo se construye tu app.

    DeploymentConfig define cómo y cuándo se despliega.

  9. Projects y Namespaces

    OpenShift organiza todo en "proyectos", que son similares a namespaces de Kubernetes. Esto permite separar entornos (dev, staging, prod) fácilmente.

  10. Operator Framework

    Automatiza la gestión del ciclo de vida de aplicaciones complejas dentro del clúster, como bases de datos o servicios de terceros.

Diferencia entre OpenStack y OpenShift

  • OpenStack es una plataforma de código abierto para construir y gestionar nubes públicas y privadas. Permite crear infraestructura como servicio (IaaS), lanzando máquinas virtuales, redes, almacenamiento, etc.
  • OpenShift, por otro lado, es una plataforma de contenedores basada en Kubernetes que facilita el despliegue, la escalabilidad y la gestión de aplicaciones en contenedores. Añade seguridad, herramientas CI/CD y multitenencia.

Ambas tecnologías se complementan, pudiendo tener OpenStack como infraestructura y OpenShift como plataforma de aplicaciones por encima.

Comparativa entre componentes

Componente OpenShift Función en OpenShift Componente OpenStack (equivalente o relacionado) Función en OpenStack
Kubernetes Orquestación de contenedores (pods, servicios, deployments). Nova Orquestación de máquinas virtuales.
Image Registry Almacén de imágenes de contenedores internas. Glance Gestión y provisión de imágenes de disco para VMs.
Operator Framework Automatización del ciclo de vida de aplicaciones complejas. Heat Orquestación de infraestructuras como código (IaC).
Kubernetes SDN Red interna para comunicación entre pods/servicios. Neutron Redes virtuales, subredes, routers, etc.
BuildConfig/DeploymentConfig Gestión de ciclos de construcción y despliegue de apps. Heat/Glance Automatización del despliegue de instancias/infraestructura.
OpenShift Console Interfaz gráfica de gestión del clúster. Horizon Dashboard web de administración del entorno.
S2I (Source to Image) Construcción automática de imágenes desde código fuente. Glance Provisión de imágenes para crear instancias.

Geeknetic De Kubernetes a OpenShift: Ventajas de usar una plataforma gestionada de contenedores 2

Recomendación mínima para laboratorio mixto (OpenStack + OpenShift)

Nodo

Función

RAM

CPU

Disco

vm-100

OpenStack Controller

8 GB

4 vCPU

80 GB

vm-101

Compute Node 1

8 GB

4 vCPU

80 GB

vm-200

OpenShift Control Plane

16 GB

4 vCPU

60 GB

vm-201

OpenShift Worker

8 GB

2 vCPU

40 GB

Requerimientos por Componentes

Para poder instalar los diferentes componentes necesitarás los siguientes recursos de Hardware y Software:

Componente

RAM Mínima

CPU Mínima

Disco

Notas técnicas

Control Plane

16 GB

4 vCPU

50 GB+

etcd, API, Scheduler. Requiere estabilidad y RAM.

Worker Node

8 GB

2–4 vCPU

50 GB+

Ejecuta pods. El número depende de la carga.

Ingress Controller

2 GB

1 vCPU

10 GB

NGINX o HAProxy. Para entrada de tráfico externo.

Registry (Quay o interno)

4 GB

2 vCPU

20 GB+

Almacena imágenes de contenedores.

Monitoring stack (Prometheus/Grafana)

4–8 GB

2–4 vCPU

20 GB+

Altamente configurable. Requiere espacio para métricas.

Logging (Loki/ELK/Fluentd)

4–8 GB

2–4 vCPU

50 GB+

Importante para auditoría y seguridad.

Single-node OKD/CRC

9–16 GB

4 vCPU

50 GB

Para entorno de pruebas local.

Comandos más utilizados

A continuación, os entregamos los comandos "oc" más utilizados en el día a día, tanto para desarrolladores como para administradores. Ya sea que estés comenzando o que quieras repasar lo esencial, este resumen te servirá como referencia rápida y práctica:

Comandos Básicos de OpenShift (oc)

Comando

Función

oc login

Inicia sesión en el clúster de OpenShift.

oc whoami

Muestra el usuario actual autenticado.

oc new-project

Crea un nuevo proyecto (namespace).

oc projects

Lista los proyectos disponibles.

oc project

Cambia al proyecto especificado.

Despliegue de Aplicaciones

Comando

Función

oc new-app

Crear app desde código

oc start-build

Inicia una compilación (build) manualmente.

oc get builds

Lista las compilaciones realizadas.

oc rollout status dc/

Muestra el estado del despliegue (deploymentConfig).

oc cancel-build

Cancela una compilación en curso.

Visualización y Recursos

Comando

Función

oc get all

Lista todos los recursos del proyecto actual.

oc get pods

Lista los pods en ejecución.

oc describe pod

Muestra detalles de un pod.

oc logs

Muestra los logs de un pod.

oc exec --

Ejecuta un comando dentro del contenedor.

Gestión de Recursos

Comando

Función

oc create -f

Crea recursos desde un manifiesto YAML.

oc delete -f

Elimina recursos definidos en el YAML.

oc expose svc/

Expone un servicio al exterior mediante una route.

oc scale dc/ --replicas=N

Escala el número de réplicas de un deploymentConfig.

Imágenes y Builds

Comando

Función

oc import-image

Importa una imagen desde un repositorio externo.

oc tag

Etiqueta una imagen para gestionarla internamente.

Seguridad y Usuarios

Comando

Función

oc policy add-role-to-user

Asigna un rol a un usuario.

oc adm policy who-can

Muestra quién puede realizar una acción sobre un recurso.

Escala despliegues de forma segura

OpenShift te ofrece todo lo bueno de Kubernetes, pero sin que tengas que sufrir su complejidad técnica desde el primer minuto. Es ideal tanto para desarrolladores que quieren lanzar sus apps rápido, como para equipos DevOps que buscan estandarizar y escalar despliegues de forma segura.

Si ya conoces OpenStack y te interesa seguir avanzando en el mundo cloud, OpenShift es la siguiente parada natural. De hecho, puedes integrarlo perfectamente para tener una nube privada robusta y flexible. Si no has leído nuestra guía de OpenStack, te la recomiendo aquí: Todo sobre OpenStack

Fin del Artículo. ¡Cuéntanos algo en los Comentarios!

Temas Relacionados: Virtualización
Redactor del Artículo: Raúl Unzué

Raúl Unzué

Soy un apasionado de la virtualización con más de 20 años de experiencia, especializado en soluciones como VMware(premio vExpert y vExpert Pro desde 2013), Proxmox e Hyper-V. Durante mi carrera, he ayudado a empresas a optimizar sus infraestructuras TI mientras comparto mis conocimientos como redactor IT. Mi objetivo es traducir lo complejo en algo práctico y accesible, combinando teoría con experiencia real. Si te interesa la virtualización, las herramientas TI o simplemente aprender algo nuevo, espero ayudarte con mis artículos.