← До списку лабораторних по Kubernetes
Повний опис / сценарій лабораторної:
Мета: навчитися робити безпечний перехід між версіями сервісу через 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 при проблемах на продакшені.