GitOps и CI/CD
Argo CD, Helm и GitLab CI: безопасный путь от коммита до продакшена и случаи, когда Synced ещё не значит задеплоено.
8 статей
- Argo CD показывал Synced, а API-сервер молча выкинул мой фиксМесяцы без метрик, фикс уже в git и зелёный Synced. Поля не было в схеме CRD, API-сервер его отрезал, и никто не пожаловался.
- Апгрейд GitLab и два сигнала, которые вралиРядовой минорный апгрейд self-hosted GitLab в Docker. Предварительная проверка насчитала 32 незавершённые миграции, а контейнер стал healthy, ничего не обслуживая.
- Смержено, засинкано, смонтировано — и всё равно не алертит: vmalert без hot reloadНовые правила для Kafka прошли через Git и Argo CD в ConfigMap, но vmalert их так и не начал оценивать. GitOps-конвейер оборвался на последнем шаге.
- Петля логина в WordPress, которая случалась только иногдаwp-admin выкидывал обратно на страницу логина с reauth=1, но не всегда. Причина — случайные auth-соли, сгенерированные в каждом поде за балансировщиком без sticky-сессий.
- Три инцидента, которые были одним: IP базы, зашитый в конфиг500 на логине, бэкенды в CrashLoopBackOff и зависший деплой выглядели как три проблемы. Все три оказались одним захардкоженным IP базы в конфиге pgbouncer.
- Меняем неизменяемое поле StatefulSet, не перезапустив ни одного подаВ Git — 20 GiB, в живом StatefulSet — шаблоны на 6 GiB, а Argo CD показывает Synced. Как удаление с orphan и OnDelete пересобрали шаблон без простоя.
- Helm пишет «another operation is in progress», а ничего не запущеноОтменённая CI-джоба оставила два Helm-релиза в pending-upgrade и заблокировала все деплои. Как найти lock, безопасно его снять и проверить весь namespace разом.
- Как я подхожу к платформеИнфраструктура как продукт, GitOps, CI/CD, DevSecOps — предсказуемые релизы и безопасность в пайплайне.