Перейти до вмісту

Модуль 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 без сигналів — це просто менший вибух. Завжди поєднуйте патерн з метриками, яким довіряєте.