← До фільтрів та технологій

← До списку лабораторних по Kubernetes

Kubernetes Лабораторна 35: Blue green релізи

Технологія: Kubernetes

Номер лабораторної: 35 · Рівень: middle

Тема: Blue green deployment

Повний опис / сценарій лабораторної:

Мета: навчитися робити безпечний перехід між версіями сервісу через blue green патерн.



Крок 1. Створити deployment з поточною версією додатка.

Команда: kubectl create deployment web-blue --image=nginx:1.25

Пояснення: це синя версія на яку зараз вказує service.



Крок 2. Створити service який вказує на blue версію.

Команда: kubectl expose deployment web-blue --name=web-service --port=80

Пояснення: selector service має бути app=web-blue.



Крок 3. Перевірити роботу сервісу.

Команда: kubectl run curl-blue --rm -it --image=radial/busyboxplus:curl --restart=Never -- sh -c "curl web-service"

Пояснення: переконайся що відповідь коректна.



Крок 4. Створити green deployment з новою версією.

Команда: kubectl create deployment web-green --image=nginx:1.27

Пояснення: поки service ще не направляє трафік на green.



Крок 5. Перевірити green версію окремо.

Команда: kubectl expose deployment web-green --name=web-green-svc --port=80

Пояснення: тимчасовий service щоб протестувати нову версію.



Крок 6. Протестувати green з окремого pod.

Команда: kubectl run curl-green --rm -it --image=radial/busyboxplus:curl --restart=Never -- sh -c "curl web-green-svc"

Пояснення: переконайся що нова версія працює як очікується.



Крок 7. Переключити основний service на green deployment.

Дія: зміни selector web-service з app=web-blue на app=web-green.

Пояснення: весь трафік піде на green версію.



Крок 8. Перевірити що web-service віддає green.

Команда: kubectl run curl-main --rm -it --image=radial/busyboxplus:curl --restart=Never -- sh -c "curl web-service"

Пояснення: переконайся що відповідь відповідає новій версії.



Крок 9. Видалити більше не потрібну blue версію.

Команди: kubectl delete deployment web-blue; kubectl delete svc web-green-svc

Пояснення: лишається тільки green під основним service.



Крок 10. Міні звіт.

Завдання: опиши як можна робити швидкий rollback у схемі blue green при проблемах на продакшені.