TGViewer
DevOps DevOps @i_devops · 8.82K subscribers
Post #3870 1.31K
🚀 Как правильно организовать CI/CD в Kubernetes

Если деплой в кластер до сих пор выглядит как «собрал образ руками - накатил kubectl apply - помолился», пора это менять. Разбираем, из чего должен состоять нормальный CI/CD-пайплайн для K8s.

1. Разделяйте CI и CD

CI (сборка, тесты, линт, сборка образа) и CD (доставка в кластер) - это разные зоны ответственности. Смешивать их в один монолитный скрипт - путь к боли. CI живёт в GitHub Actions / GitLab CI / Jenkins, а за CD лучше отвечает отдельный инструмент.

2. GitOps - ваш друг

Вместо того чтобы пайплайн напрямую пушил изменения в кластер, используйте GitOps-подход: Argo CD или Flux следят за Git-репозиторием с манифестами и сами синхронизируют состояние кластера. Плюсы:
— вся история изменений в Git;
— откат = git revert;
— кластер не нужно пускать в CI-раннер с полными правами.

3. Отдельный репозиторий для манифестов

Код приложения и его K8s-манифесты (или Helm-чарты/Kustomize-оверлеи) стоит держать раздельно. CI-пайплайн после сборки образа просто обновляет тег в репозитории с манифестами - а дальше в дело вступает GitOps-контроллер.

4. Иммутабельные образы и семантические теги

Никаких latest в проде. Тегируйте образы по SHA коммита или семверу — это даёт трассируемость и предсказуемость.

5. Progressive delivery

Canary- и blue-green-деплои через Argo Rollouts или Flagger снижают риск раскатки. Добавьте автоматический анализ метрик (Prometheus) - и плохой релиз откатится сам, без участия человека.

6. Секреты - не в манифестах

External Secrets Operator, Sealed Secrets или Vault - выбирайте, но никогда не коммитьте секреты в открытом виде, даже в «приватный» репозиторий.

7. Тестируйте манифесты до применения

kubeval, conftest (OPA), kube-score - валидируйте YAML и политики безопасности ещё на этапе CI, а не когда под уже упал в проде.

8. Отдельные пайплайны под окружения

Dev - быстрый автодеплой на каждый коммит. Staging - деплой по мержу в основную ветку. Prod - только по тегу/релизу, с ручным approval-гейтом.

Итог: связка CI (сборка + тесты) → registry → Git-репозиторий манифестов → GitOps-контроллер (Argo CD/Flux) → progressive delivery - это тот самый «правильный» CI/CD для Kubernetes, который не превращается в источник инцидентов.

Какой стек используете вы - Argo CD, Flux или что-то своё? 👇

📲 Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
  • 👍 9
  • 🔥 3
More from @i_devops
  1. Sep 23, 2026Вопрос, который часто задают в начале собеса Представлен вывод команды top. Что означает к…
  2. Sep 22, 2026🚀 Шпаргалка по Docker 🐳 🔹 Сборка (Build) 🔹 Запуск (Run) 🔹 Шаринг (Share) 🔹 Управлени…
  3. Sep 21, 2026DevOps практикум 1 - Базовая автоматизация с использованием ANSIBLE 2 - Создаем роли ANSIB…
  4. Sep 20, 2026🍔DevOps как бургер (DaaB) Дорожная карта DevOps-инженера должна выглядеть так: 1. Изучите…
  5. Sep 18, 2026Автоматизация платформы не отбирает у вас интересные задачи. Она забирает рутину. Deckhous…
  6. Sep 17, 2026💡Большая шпаргалка по Linux Storage Stack ➡️оригинал файла в комментах #devops #девопс 📲…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →