Despliegue de Aplicaciones en OpenShift v4
Resumen
Métodos para desplegar aplicaciones en OpenShift: desde imágenes Docker, código fuente (S2I), Dockerfile, y Templates del catálogo. Comparación de enfoques PaaS.
Conceptos Clave
Métodos de Despliegue
1. Desde Imagen Docker
oc new-app bitnami/nginx --name=webWorkflow:
- Pull imagen de registro
- Crea Deployment, Service
- Automáticamente crea ImageStream
- Listo para acceso via Route
Ventaja: Rápido, usa imagen existente Desventaja: No integración Git, manual
2. Desde Código Fuente (S2I)
oc new-app python:3.9~https://github.com/user/myapp --name=myappWorkflow:
- Clone código
- Detecta lenguaje (package.json, requirements.txt, etc.)
- BuildConfig automático
- S2I builder image
- Imagen construida
- Deployment automático
Ventaja:
- Sin Dockerfile requerido
- Git webhook integrado
- Actualización automática
Soportados: Python, Node.js, Ruby, Java, PHP, .NET, Go
3. Desde Dockerfile
oc new-app https://github.com/user/myapp --strategy=docker --name=myappWorkflow:
- Clone código
- Busca Dockerfile
- BuildConfig Docker
- Build image
- Deploy
Ventaja: Control total sobre imagen Desventaja: Requiere escribir Dockerfile
4. Desde Catálogo (Templates)
oc new-app mariadb-persistent \
-p MEMORY_LIMIT=512Mi \
-p MYSQL_ROOT_PASSWORD=secretQué incluye Template:
- Deployment
- Service
- ConfigMap/Secret
- PVC (si persistent)
- Route
Ventaja: Configurado por expertos, parametrizable Uso: Bases de datos, middleware
Consola Web vs CLI
CLI (oc new-app):
- Rápido para desarrolladores
- Fácil scripting
- Control total
Consola Web:
- UI intuitiva
- +Add → Deploy Image/Source
- Wizards paso a paso
- Visual feedback
ImageStreams Automáticos
Cada oc new-app crea ImageStream automáticamente:
oc get is
# Muestra stream de imágenes disponiblesVentaja: Triggers automáticos para redeploy
Relaciones
Conecta con
- Parte de: OpenShift (característica PaaS)
- Usa: Build (BuildConfig en OpenShift) (construcción automática)
- Produce: ImageStream (referencias)
- Define: Deployment, Service, Route