Extensiones de OpenShift: Operadores, Knative, Tekton
Resumen
Extensibilidad de OpenShift: Operadores (instalación de software), Knative (serverless), Tekton (CI/CD), y cómo ampliar funcionalidad del cluster.
Conceptos Clave
Operadores
Propósito: Automatizar instalación y gestión de software complejo
Ventaja: Operaciones automáticas, no manual
Ejemplos:
- Red Hat OpenStack (RHOSO)
- Prometheus (monitorización)
- Elasticsearch (búsqueda)
- Kafka (messaging)
Instalación:
- OperatorHub (en OpenShift web console)
- Buscar operador
- Instalar en namespace
- Crear CustomResource (CR)
Workflow:
Instalar Operador (deployable pod)
↓
Crear CustomResource (configuración)
↓
Operador detecta CR
↓
Operador crea/configura componentes
↓
Sistema funcionando automáticamente
Knative (Serverless)
Propósito: Ejecutar código sin gestionar infraestructura
Conceptos:
- Serving: Exponer servicios serverless
- Eventing: Event-driven workloads
Características:
- Auto-escalado a cero (sin uso = no cuesta)
- Escalado automático
- Versionado de servicios
- Traffic splitting (canary deployments)
Ejemplo:
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: myapp
spec:
template:
spec:
containers:
- image: myapp:latestAcceso: URL automática + auto-escala
Tekton (CI/CD Nativo)
Propósito: Pipeline CI/CD declarativa dentro OpenShift
Conceptos:
- Task: Unidad de trabajo (build, test, deploy)
- TaskRun: Ejecución de task
- Pipeline: Flujo de tasks
- PipelineRun: Ejecución de pipeline
Ejemplo Pipeline:
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
name: build-test-deploy
spec:
tasks:
- name: build
taskRef:
name: build-image
params:
- name: repo-url
value: https://github.com/user/app
- name: test
taskRef:
name: test-image
runAfter:
- build
- name: deploy
taskRef:
name: deploy-image
runAfter:
- testVentaja: Pipelines en código, versionable, reproducible
Cómo Ampliar OpenShift
- OperatorHub: Instalar software pre-empaquetado
- Tekton: Customizar CI/CD
- Webhooks: Integración externa
- Custom Operators: Escribir propio operador
Relaciones
Conecta con
- Extensiones de: OpenShift
- Knative: Abstracción por encima de Pods
- Tekton: Alternativa a Jenkins
- Operadores: Software as code