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