tgoop.com/devopslib/65
Create:
Last Update:
Last Update:
Привет, друзья! Сегодня разберём, как выстроить надёжный GitOps-процесс с помощью Argo CD и Kubernetes.
1. Архитектура репозитоpиев
* Monorepo vs Multirepo: в зависимости от масштаба проектов выбирайте единое или раздельное хранилище манифестов.
* Разделяйте окружения (prod/stage/dev) по разным папкам или веткам.
2. Декларативность
* Храните все Kubernetes-манифесты (Deployment, Service, Ingress, ConfigMap, Secret) в Git.
* Все изменения проходят через MR/PR с обязательным код-ревью и автоматическим CI-проверками (lint, kubeval).
3. Установка и конфигурация Argo CD
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
* Подключите репозиторий:
* URL: ваш Git-сервер
* Type: Git
* Auth: SSH-ключ или токен
* Создайте приложение (
Application
), где укажете target-кластер и путь к манифестам.4. Автосинхронизация и управление откатом
* Включите
syncPolicy.automated
для мгновенного применения изменений.* Настройте
pruneResources: true
, чтобы удалять неактуальные объекты.* Активируйте
selfHeal: true
— Argo CD будет восстанавливать конфигурацию при ручных правках.5. Мониторинг и оповещения
* Подключите Prometheus и Grafana к Argo CD через метрики и вебхуки.
* Настройте оповещения в Slack или Telegram о неудачных синках и drift’ах.
6. Секреты и конфигурации
* Используйте Sealed Secrets или HashiCorp Vault для безопасного хранения.
* Аргокаталоги монтируйте через CSI-драйверы, чтобы не держать секреты в Git.
7. Best Practices
* Разделяйте права доступа через RBAC — кто может мёржить изменения в prod.
* Периодически пересматривайте Git-историю и чистите устаревшие ветки.
* Проводите тренировку «chaos engineering» — симулируйте сбои при помощи LitmusChaos или Chaos Mesh.
Небольшой чеклист перед деплоем:
* [ ] CI-лейблы зелёные
* [ ] Артефакты в артефактном репозитории
* [ ] Инфраструктурные тесты пройдены
* [ ] Определён ответственный за rollback
Успешного вам релиза и минимальных «рывков» в проде!
Подпишись 👉@devopslib
BY Библиотека девопса | DevOps, SRE, Sysadmin
Share with your friend now:
tgoop.com/devopslib/65