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

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

Kubernetes Лабораторна 48: maxSurge та maxUnavailable

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

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

Тема: Стратегія оновлення Deployment

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

Мета: навчитися керувати параметрами maxSurge і maxUnavailable для deployment та оцінювати вплив на доступність.



Крок 1. Створити deployment з 4 replica.

Команда: kubectl create deployment strat-demo --image=nginx:1.25 --replicas=4 -o yaml --dry-run=client > strat-demo.yaml

Пояснення: далі ми відредагуємо стратегію оновлення.



Крок 2. Додати стратегію типу RollingUpdate.

Пояснення: у spec strategy вкажи rollingUpdate з maxSurge 1 і maxUnavailable 1.



Крок 3. Застосувати deployment.

Команда: kubectl apply -f strat-demo.yaml

Пояснення: початкові pod будуть створені з поточною версією образу.



Крок 4. Оновити образ на нову версію.

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

Пояснення: починається rolling update з вказаними параметрами.



Крок 5. Спостерігати rollout.

Команда: kubectl rollout status deployment/strat-demo

Пояснення: зверни увагу скільки pod одночасно стають недоступними.



Крок 6. Змінити maxUnavailable на 0.

Пояснення: тепер при оновленні доступні pod не повинні зменшуватися нижче початкової кількості.



Крок 7. Оновити deployment і знову змінити образ.

Команда: kubectl apply -f strat-demo.yaml і потім kubectl set image deployment/strat-demo nginx=nginx:1.28

Пояснення: проаналізуй як змінилася поведінка.



Крок 8. Змінити maxSurge на 2.

Пояснення: під час оновлення буде створено більше додаткових pod.



Крок 9. Повторити оновлення і простежити за кількістю pod.

Команда: kubectl get pods -l app=strat-demo -w

Пояснення: порахуй максимальну кількість pod під час rollout.



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

Завдання: опиши як ти балансуватимеш між швидкістю оновлення і кількістю доступних replica.