Реализация Multiple sources Argo CD + ChartMuseum для 10 однотипных микросервисов
Ксения Кузменко, DevOps инженер Smartex, написала статью на Хабр.
«Я люблю создавать инфраструктуру и процессы, которые помогают разработчикам и операционной команде быть более эффективными и продуктивными. Если ваша повседневная рутина связана с множеством однотипных микросервисов и разнообразными средами, данная информация может быть для вас полезна. Материал рассчитан на Junior+ и Middle DevOps специалистов».
Ксения Кузменко, DevOps инженер Smartex
Кейс
К нам обратился клиент, проект которого связан с работой кассовых систем сети супермаркетов, управлением списком товаров, ценами и другими данными.
Перед нашей DevOps-командой была поставлена задача — помочь в миграции монолитного приложения из собственной инфраструктуры без контейнеризации в Kubernetes в публичном облаке, с созданием трех окружений — для разработки, для тестирования и для production.
Приложение переписывалось на микросервисную архитектуру. Для экономии ресурсов клиента и максимального облегчения жизни разработчиков, мы должны были создать инфраструктуру, в которой разработчики могут сами, используя документацию, развернуть любое количество микросервисов, и в production, и в development-окружении. То есть, по сути создание новых приложений должно происходить с минимальным участием DevOps.
К моменту старта проекта уже было подготовлено несколько микросервисов. Используя Terraform, мы успешно настроили всю необходимую инфраструктуру, включая виртуальную сеть, подсеть, управляемый кластер Kubernetes, управляемую базу данных PostgreSQL и управляемый инструмент для хранения секретов. Также при помощи Terraform мы развернули веб-сервер Nginx Ingress и Argo CD.
Все сервисы и микросервисы нашего приложения, включая служебные Helm-чарты, разворачиваются через Argo CD. Но мы столкнулись с рядом недочетов, которые хотелось устранить до запуска production окружения.
Читать дальше
15 апреля 2024 г.