Модуль 4.3: Стратегії випуску (Теорія)
Складність:
[QUICK]- Патерни та компромісиЧас на виконання: 15-20 хвилин
Передумови: Модуль 4.1 (CI/CD), Модуль 4.2 (Пакування застосунків)
Що ви зможете робити
Розділ «Що ви зможете робити»Після завершення цього модуля ви зможете:
- Порівняти стратегії випуску rolling update, blue-green та canary за ризиком та складністю
- Пояснити як Kubernetes Deployment реалізує rolling updates за допомогою maxSurge та maxUnavailable
- Визначити яка стратегія випуску підходить для даного сценарію на основі толерантності до ризику та шаблонів трафіку
- Оцінити механізми відкату та як автоматичні тригери відкату зменшують ризик розгортання
Огляд
Розділ «Огляд»- Основні патерни розгортання
- Сигнали для безпечного просування/відкату
- Основи версіонування конфігурації та образів
- Ментальна модель: регулювальник для релізів — зелене світло (розгортання), жовте (canary), червоне (відкат).
- Оберіть свій патерн: відповідність до апетиту ризику та радіусу ураження.
Основні патерни
Розділ «Основні патерни»- Rolling update: Поступова заміна; типова для Deployments. Добре для більшості випадків; слідкуйте за readiness, щоб уникнути обслуговування поганих Podʼів.
- Blue/Green: Запуск старого (blue) та нового (green) паралельно; перемикання трафіку через зміну Service/Ingress. Швидкий відкат, вища вартість ресурсів.
- Canary: Спочатку відправте малий відсоток на нову версію (через мітки/підмножини Service/маршрути Ingress). Виявіть проблеми до повного розгортання.
Сигнали просування
Розділ «Сигнали просування»- Readiness probes що контролюють Endpoints Service.
- Метрики: частота помилок, затримка, насиченість (CPU/памʼять) та перевірки, видимі користувачам.
- Хуки спостережуваності: логи/метрики/трейси за версією для виявлення регресій.
Сигнали відкату
Розділ «Сигнали відкату»- Зростання 4xx/5xx, збої проб, збільшена затримка або насиченість, що впливає на SLO.
- Тримайте попередню версію та конфігурацію готовими до відновлення; для Helm,
helm rollback <release> <rev>(концепція).
Гігієна версіонування
Розділ «Гігієна версіонування»- Образи: Використовуйте незмінні дайджести; уникайте
latest. - Конфігурація: Відокремлюйте конфігурацію від образів (ConfigMaps/Secrets) та версіонуйте її. Координуйте зміни конфігурації з розгортаннями, щоб уникнути невідповідностей.
Мислення для іспиту: Розпізнавайте патерни, коли їх використовувати та які сигнали керують просуванням або відкатом. KCNA зосереджується на концепціях, а не на повних пайплайнах.
ASCII ДОВІДНИКТрафік --> [Service/Ingress] |-- Blue (v1) --| # стабільно |-- Canary (v2) | # спочатку малий % |-- Green (v2) | # повне перемикання коли готово| Патерн | Використовуйте коли | Контроль ризику |
|---|---|---|
| Rolling | Типова зміна, низький ризик | Readiness probes + метрики |
| Blue/Green | Потрібен миттєвий відкат | Два стеки; перемикання трафіку |
| Canary | Невизначена зміна | Почніть з малого; слідкуйте за помилками/затримкою перед 100% |
Перевірка реальності: Canary без сигналів — це просто менший вибух. Завжди поєднуйте патерн з метриками, яким довіряєте.