Saltar al contenido
NyverraNyverra
⌘K
InicioArtículosSitio institucional
🇪🇸
Nyverra

Canal editorial

Artículos sobre tecnología, operaciones y partners — infraestructura, monitorización y entornos críticos.

Redes sociales

Explorar

  • Inicio
  • Artículos
  • Categorías
  • Etiquetas
  • Autores
  • Sobre
  • Contacto
  • RSS
  • Sitio institucional

Nyverra

  • Nuestros servicios
  • Casos de éxito
  • Socios

Contacto

Correo[email protected]WhatsApp(62) 99309-1592Portal del clienteITSM · tickets y SLA

Rua RB 18, S/N — Casa 01, Sala 01 · Residencial Buriti · Senador Canedo – GO, Brasil · CEP 75260-459

Horario: lun–vie, 08–18 h

© 2026 Nyverra. Todos los derechos reservados.

CNPJ: 61.571.209/0001-08 · Registro estatal: 20.291.265-5 · D-U-N-S®: 57-323-5796

blog.nyverra.com.br

Términos de usoPrivacidadCookies
Volver arriba

Una base de datos en Kubernetes no solo necesita un Pod y un PVC. Necesita failover, backup, restore, upgrade, réplica, monitoreo y recuperación ante desastres. Empaquetar todo eso en YAML es insostenible.

Operador es la respuesta: un controller que codifica el conocimiento operativo de una aplicación.

Sello del curso: probado en Kubernetes 1.35 con CloudNativePG, ECK, MinIO, RabbitMQ y Redis.

La idea central

Un operador extiende la API de Kubernetes con un CRD (CustomResourceDefinition) y un controller que reconcilia el estado deseado.

CRD (novo tipo) → CR (seu pedido) → controller (reconcilia) → recursos reais

Ejemplo: en lugar de crear Deployment + Service + PVC + scripts de failover, creas un Cluster de CloudNativePG y el operador hace el resto.

apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
  name: portal-postgres
spec:
  instances: 2
  storage:
    size: 10Gi

Anatomía de un operador

Pieza Rol
CRD define el nuevo tipo y sus campos
CR instancia del tipo (tu pedido)
Controller loop de reconciliación
RBAC permisos del controller
Webhooks validación/mutación
Finalizers limpieza antes de eliminar

El controller ejecuta un loop: observa el estado actual, lo compara con el deseado y actúa. Si un pod muere, lo recrea. Si el primario falla, promueve la réplica. Si el backup falla, registra el estado.

Operadores que usamos

Operador Recurso Qué gestiona
CloudNativePG Cluster PostgreSQL HA, backup, failover
ECK Elasticsearch clúster Elasticsearch
MinIO Operator Tenant almacenamiento de objetos
RabbitMQ Cluster Operator RabbitmqCluster colas con quórum
Spotahome Redis Operator RedisFailover Redis con sentinel

Cuándo usar (y cuándo no)

Usa un operador cuando:

  • La aplicación tiene estado y ciclo de vida complejo (base de datos, cola, storage).
  • Necesitas HA, backup y upgrade con seguridad.
  • La comunidad mantiene el operador activo.

Evítalo cuando:

  • Un Deployment + Service lo resuelve (stateless).
  • El operador está abandonado o sin compatibilidad con tu versión.
  • No entiendes lo que hace: un operador no es una caja negra.

El operador no es magia

Él no sustituye:

  • Backup probado (el restore es tuyo).
  • Capacidad planificada.
  • Runbook de incidentes.
  • Entendimiento de la base de datos.

Él automatiza lo que ya sabes hacer. Si no sabes qué es un failover, el operador solo fallará más rápido.

Operador + GitOps

La forma madura: operador instalado con Helm/ArgoCD y CRs versionados en Git.

infra/operators/cloudnative-pg/   # helm/argocd
apps/portal/postgres-cluster.yaml # CR

Los cambios pasan por PR, revisión y sync. Nada de kubectl edit en producción.

Laboratorio

  1. Lista los CRDs:
kubectl get crd | grep -E 'cnpg|elastic|minio|rabbitmq|redis'
  1. Ve los operadores ejecutándose:
kubectl get pods -A | grep -E 'cnpg|elastic|minio|rabbitmq|redis'
  1. Inspecciona un CR y su estado:
kubectl -n portal-cliente get cluster.postgresql.cnpg.io portal-postgres
kubectl -n portal-cliente get cluster.postgresql.cnpg.io portal-postgres -o yaml | less
  1. Observa el estado: instancias listas, primario, condiciones.

  2. (Lab) Derriba una réplica y observa cómo el operador la recrea:

kubectl -n portal-cliente delete pod portal-postgres-2
kubectl -n portal-cliente get pods -w

Errores comunes

Síntoma Causa
CR Pending operador no instalado o sin permiso
Operador en CrashLoopBackOff versión incompatible o webhook roto
CR aceptado pero no pasa nada controller no está ejecutándose
no matches for kind CRD no instalado
Finalizer atascado recurso externo no eliminado
Upgrade se rompió CRD/versión incompatible con el operador

Checklist

  • [ ] Sé qué operadores se ejecutan en el clúster.
  • [ ] Sé qué CRD agrega cada uno.
  • [ ] Los CR están en Git, no editados a mano.
  • [ ] El operador tiene un upgrade planificado.
  • [ ] Backup/restore probado independientemente del operador.
  • [ ] Entiendo el estado/condiciones del CR.
  • [ ] Tengo un runbook para el operador fuera de línea.

Glosario

  • CRD: definición de un nuevo tipo de recurso.
  • CR: instancia de un CRD.
  • controller: loop que reconcilia el estado.
  • reconciliación: comparación deseado × real.
  • finalizer: gancho de limpieza antes de la eliminación.
  • webhook: validación/mutación en la API.

Próximo

Ahora vamos al operador más importante de nuestro stack: PostgreSQL con CloudNativePG — HA, failover, backup y restore en la práctica.

Próximo: Curso Kubernetes 15 — Postgres con CloudNativePG: HA, failover y backup

Compartir

Seguir leyendo

Lea también

  • Manual LSI / Broadcom MegaRAID — MegaCli y StorCLI
    Tutoriais

    Manual LSI / Broadcom MegaRAID — MegaCli y StorCLI

    Con esta guía, su equipo gana autonomía para diagnosticar rebuilds, resolver foreign configurations, gestionar BBU y CacheCade — con escenarios reales de producción documentados.

    31 de outubro de 202620 min de leitura
  • Nginx Cheatsheet

    Nginx Cheatsheet

    Guía de bolsillo con ejemplos listos para configurar Nginx en producción: desde instalación y virtual hosts hasta ajuste de rendimiento y resolución de problemas.

    31 de outubro de 202612 min de leitura
  • Curso Kubernetes 27 — SLO/SLI, on-call y postmortem sin culpa
    Kubernetes

    Curso Kubernetes 27 — SLO/SLI, on-call y postmortem sin culpa

    Qué prometer, cómo medir y qué hacer cuando el error se dispara: SLI, SLO, presupuesto de error, alertas que despiertan a alguien y postmortem sin caza de brujas.

    31 de outubro de 20265 min de leitura

Comentarios

Aún sin comentarios

Sea el primero en compartir su opinión sobre este artículo.

Deje un comentario

Newsletter

Reciba nuevos artículos

Suscríbase para recibir publicaciones del blog Nyverra en su correo. Enviaremos un enlace de confirmación.

​
  1. Inicio
  2. Kubernetes
  3. Curso Kubernetes 14 — Operadores: qué son y por qué usarlos
Kubernetes
#Curso Kubernetes#K8S#Kubernetes

Curso Kubernetes 14 — Operadores: qué son y por qué usarlos

Wedson LopesWedson Lopes
31 de outubro de 20264 min de leitura