Argo CD: локальный GitOps релиз
Продолжаем «Площадку» из курса Kubernetes в проекте «Релиз»: Git хранит желаемое состояние API/web, Argo CD читает локальный источник, а Kustomize разделяет dev и stage. Изучаем ручной sync, diff и drift, promotion, rollback и адресное удаление. Полный архив содержит собственные исходники, локальный Git bootstrap и оба overlays; внешний Git аккаунт и неизвестный registry не требуются.
Нужны результат «Площадки», Git, Docker, kind, kubectl и Argo CD CLI 3.5.4. Инструменты читатель устанавливает самостоятельно. Только отдельный kind-release: image приложения собирает и загружает читатель из включённых файлов. Git daemon доступен внутри кластера и read-only; публикация Git bundle через Kubernetes API выполняется одним владельцем. Bootstrap namespace/Secret/Argo CD отделён от прикладного Application. Протокол Git не содержит credentials; не публикуйте его как внешний hosting.
| Урок | Новый результат |
|---|---|
| 1. Git как источник желаемого состояния | Отделяем Git декларацию релиза от образа приложения и текущих объектов Kubernetes. |
| 2. Локальный bootstrap и читаемый Git источник | Готовим отдельный кластер, read-only Git Service и передачу Git bundle без внешнего remote. |
| 3. Application и границы AppProject | Связываем источник, путь, revision и namespace, ограничивая прикладные виды ресурсов. |
| 4. Первый manual sync и состояние приложения | Читаем diff, применяем выбранное намерение и различаем sync от readiness и HTTP результата. |
| 5. Diff и drift после ручного изменения | Распознаём расхождение live с Git и выбираем возврат декларации либо новый commit. |
| 6. Kustomize base и окружения dev/stage | Собираем два самостоятельных набора из общей base, сохраняя имена приложения и версии конфигурации. |
| 7. Продвижение релиза из dev в stage | Переносим один артефакт и совместимую конфигурацию отдельным Git решением. |
| 8. Rollback revision и исправление Git | Различаем оперативный возврат истории Argo CD и постоянный откат декларации в Git. |
| 9. Prune, полномочия и ссылки на Secret | Удаляем только осмысленно лишние ресурсы приложения и сохраняем границы bootstrap. |
| 10. Передача GitOps проекта и восстановление источника | Передаём исходники, Git историю, артефакты и регламент применения с явным статусом not_run. |
Скачать полный конечный пример. README указывает порядок самостоятельного прохода, файлы, совместимость и границы. Архив доступен для скачивания; он не содержит готового работающего окружения.
Все материалы опубликованы. Учебные программы, серверы, установки, Git операции лабораторий, сборки образов, Kubernetes, Argo CD, HTTP сценарии и тесты не запускались. Показанные состояния и выводы ожидаемые. Сборка статического сайта, если выполнена отдельно, не подтверждает выполнение учебного примера.