Автоматизируйте развертывание Kubernetes с помощью ArgoCD

Автоматизируйте развертывание Kubernetes с помощью ArgoCD

У нас есть репозиторий GitHub, содержащий все файлы YAML кластера Kubernetes. Когда мы хотим обновить развертывание, мы просто редактируем YAML и отправляем его на GitHub.

К сожалению, нам тогда придетсяkubectl apply -f file.yaml

Как можно автоматизировать развертывание с помощью чего-то вроде ArgoCD или, возможно, другого CD Tool?

Мы надеемся создать триггер рабочего процесса, который автоматически применит изменения файла YAML к кластеру после отправки на GitHub.

Проблема, с которой мы сталкиваемся, заключается в том, что репозиторий GitHub не является уникальным для конкретного развертывания и, как упоминалось выше, содержит все файлы YAML для всего кластера.

В настоящее время мы считаем, что единственным вариантом будет применение kubectl ко всему репозиторию GitHub, но разве это не имеет смысла, если изменился только один файл?

решение1

Я бы посмотрел наПоток. Вы можете указать Flux на корень вашего репозитория (или на определенный каталог), и он позаботится о развертывании определенных вами манифестов. Он также обнаруживает изменения, поэтому, если вы отправили изменение в свой репозиторий, Flux выкатит изменения.

ArgoCD тоже подойдет. Но поскольку вы упомянули, что репозиторий не является уникальным для конкретного развертывания и содержит манифесты для всего кластера, Flux может подойти в этом случае лучше.

Лучше всего попробовать оба или любой другой инструмент и посмотреть, что лучше всего подходит для ваших рабочих процессов.

Связанный контент