Kubernetes — обновление¶
Принципы¶
- Версия всех Helm-чартов определяется тегом образа Wizard — в
values.yamlверсия не указывается. Для апгрейда достаточно поменять тег. - Рекомендуемый способ обновления — Wizard (
update/update --force); ручной путь —helm upgrade(см. ниже). - Миграции БД (Alembic, init-контейнеры) применяются до старта зависящих сервисов.
- Выкат — rolling update; критичные сервисы — с проверкой
/readyz.
Обновление через Wizard¶
update — умный апгрейд: пропускает релизы без изменений (сравнивает хеш
values + версию), обновляя только реально изменившиеся чарты.
docker run --rm \
-v ~/.kube/config:/kubeconfig:ro \
-v ./values.yaml:/values.yaml \
registry.appsec.global/appsecaigate-release/wizard:<NEW_VERSION> \
update -f /values.yaml
update --force — принудительный апгрейд всех релизов; нужен для hotfix
под тот же semver (когда тег не сменился, а образ перекатан).
Контроль выката:
Ручное обновление¶
helm upgrade --install aigate <chart> -n aigate -f values.yaml
kubectl rollout status deploy/api-gateway -n aigate
Откат¶
Миграции БД
Часть изменений схемы необратима (forward-only Alembic-миграции).
Перед обновлением сделайте резервную копию (см.
Резервное копирование) и проверьте совместимость
down-миграций, если планируете откат — helm rollback откатит только
манифесты, но не данные.