Estrategias de despliegue: blue-green y canary
Vaya más allá de las actualizaciones graduales y aprenda a publicar de forma segura con patrones de despliegue blue-green y canary en Kubernetes.
Estrategias de despliegue: blue-green y canary es una lección gratuita de Kubernetes Basics en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Kubernetes Basics, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Kubernetes Basics incluye 4 lecciones en total.
¿Por qué usar algo más que las actualizaciones progresivas?
Las actualizaciones progresivas reemplazan los Pods gradualmente, pero durante la transición mezclan versiones antiguas y nuevas. Para lanzamientos arriesgados, quizá quiera controlar por completo qué usuarios ven la nueva versión.
Las estrategias blue-green y canary le ofrecen ese control.
La idea de blue-green
En un despliegue blue-green se ejecutan dos entornos idénticos:
- Blue = versión actual en producción
- Green = versión nueva, completamente desplegada pero que aún no recibe tráfico
Se cambia todo el tráfico de blue a green de una sola vez.
Dos Deployments, un Service
Cada versión tiene su propio Deployment con una etiqueta de versión. Un único Service selecciona el color que está activo.
apiVersion: apps/v1
kind: Deployment
metadata:
name: app-blue
spec:
replicas: 3
selector:
matchLabels:
app: web
version: blue
template:
metadata:
labels:
app: web
version: blue
spec:
containers:
- name: web
image: myapp:1.0Cambiar el tráfico
Para activar green, solo tiene que aplicar un parche al selector del Service para que apunte a la versión green. El cambio es instantáneo.
kubectl patch service web -p '{"spec":{"selector":{"app":"web","version":"green"}}}'Ventajas y desventajas de blue-green
- Ventaja: reversión instantánea al volver a blue
- Ventaja: no se mezclan versiones durante el lanzamiento
- Desventaja: requiere el doble de recursos durante la coexistencia
La idea de canary
Un lanzamiento canary envía primero una pequeña parte del tráfico a la nueva versión. Si las métricas son correctas, aumenta gradualmente la cantidad de tráfico.
El nombre proviene de los canarios que los mineros utilizaban para detectar el peligro con antelación.
Canary con cantidades de réplicas
Un canary sencillo utiliza dos Deployments que comparten la misma etiqueta de Service. El tráfico se divide aproximadamente según la proporción de réplicas.
# stable: 9 replicas, canary: 1 replica => ~10% to canary
kubectl scale deployment app-stable --replicas=9
kubectl scale deployment app-canary --replicas=1Promover un canary
A medida que aumenta la confianza, desplaza la proporción hacia el canary y, cuando este atienda todo el tráfico, retire la versión antigua.
kubectl scale deployment app-canary --replicas=5
kubectl scale deployment app-stable --replicas=5
# later, fully promote
kubectl scale deployment app-canary --replicas=10
kubectl scale deployment app-stable --replicas=0Observar el canary
El objetivo principal de un canary es observar. Supervise las tasas de error, la latencia y los logs antes de promoverlo.
kubectl get pods -l version=canary
kubectl logs -l version=canary --tail=50Elegir una estrategia
- Blue-green: es la mejor opción si desea un cambio limpio e instantáneo y una reversión rápida
- Canary: es la mejor opción si desea limitar el alcance de un fallo y validar con tráfico real
- Rolling: es una buena opción predeterminada para actualizaciones rutinarias y de bajo riesgo
Herramientas más allá de kubectl
Para dividir el tráfico con precisión (por ejemplo, exactamente un 5 %), los equipos utilizan service meshes como Istio o herramientas de entrega progresiva como Argo Rollouts y Flagger, que automatizan el análisis de canary.
Comprobación rápida
Elija la afirmación que describe mejor un lanzamiento canary.
Resumen
Ha comparado estrategias avanzadas de lanzamiento. Blue-green cambia instantáneamente todo el tráfico entre dos entornos para permitir una reversión rápida, mientras que canary desplaza gradualmente el tráfico para limitar el riesgo. Ambas estrategias se basan en las primitivas Deployment y Service que ya conoce.
Preguntas frecuentes
¿La lección «Estrategias de despliegue: blue-green y canary» es gratis?
Sí — el texto completo de «Estrategias de despliegue: blue-green y canary» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Kubernetes Basics, actualiza a CoddyKit PRO. El curso de Kubernetes Basics incluye 4 lecciones en total.
¿Qué aprenderé en «Estrategias de despliegue: blue-green y canary»?
Vaya más allá de las actualizaciones graduales y aprenda a publicar de forma segura con patrones de despliegue blue-green y canary en Kubernetes. Practicas Kubernetes Basics con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Kubernetes Basics?
No se requiere experiencia previa. Kubernetes Basics en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Estrategias de despliegue: blue-green y canary»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Kubernetes Basics?
Sí. Cada lección de Kubernetes Basics incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Comprender los Deployments
- Escalado de aplicaciones con ReplicaSets
- Actualizaciones progresivas y reversiones
- Estrategias de despliegue: blue-green y canary