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

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

Kubernetes Лабораторна 4: Deployment і оновлення без даунтайму

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

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

Тема: Deployment і rolling update

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

Мета: навчитися працювати з Deployment, робити оновлення образу і відкат.



Крок 1. Створити Deployment з nginx.

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

Пояснення: створюється deployment, replica set і три pod.



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

Команди: kubectl get deployments; kubectl get rs; kubectl get pods -l app=web-deploy

Пояснення: переконайся, що всі pod у статусі Running.



Крок 3. Подивитися yaml deployment.

Команда: kubectl get deployment web-deploy -o yaml

Пояснення: подивись секції spec.replicas та spec.template.



Крок 4. Оновити образ додатка.

Команда: kubectl set image deployment/web-deploy nginx=nginx:1.27

Пояснення: запускається rolling update з поетапною заміною pod.



Крок 5. Відстежити rollout.

Команда: kubectl rollout status deployment/web-deploy

Пояснення: показує прогрес оновлення.



Крок 6. Перевірити образ у pod.

Команда: kubectl describe pod <pod-name> | grep Image

Пояснення: переконайся, що всі pod використовують новий образ.



Крок 7. Зробити невдалий реліз.

Команда: kubectl set image deployment/web-deploy nginx=nginx:bad-tag

Пояснення: pod не зможуть завантажити образ, rollout застрягне.



Крок 8. Подивитися проблемний rollout.

Команда: kubectl rollout status deployment/web-deploy

Пояснення: побачиш, що оновлення не завершилось через помилки.



Крок 9. Зробити rollback.

Команда: kubectl rollout undo deployment/web-deploy

Пояснення: повертає deployment до попередньої робочої версії.



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

Завдання: опиши різницю між ручним перезапуском pod і керованим оновленням через deployment.