flux v2 monorepo experience

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Привет всем. Меня зовут Алексей, я DevOps-инженер, и сегодня я хочу рассказать немного об одном инфраструктурном решении моего ключевого заказчика.

Немного о моей работе и разделении ответственности. Я предоставляю услуги по настройке и сопровождению облачной инфраструктуры на основе GCP, а также мониторинг, алертинг, логи и т.д. В Altenar я являюсь частью команды автоматизации, которая также занимается релизными пайплайнами, улучшением различных процессов в компании и другими важными вещами. CI, сборки, сеть, доступы - за это отвечают другие команды, и этих частей я касаюсь очень мало либо совсем не трогаю их.

В моей команде издревна использовался flux v1 для кластеров на VM и для GKE в формате "один кластер - один репозиторий", с подключенными "шаблонами" в виде Git submodules. У такого подхода есть свои минусы, один из самых существенных - первая версия flux уже не поддерживается с конца 2020 года.

Таким образом, у нас был некий техдолг в виде первого flux, и необходимость рано или поздно обновляться до версии 2 или переходить на другие инструменты. Был выбран первый вариант, заодно я решил кое-что улучшить в нашей текущей структуре, убрав кучу различных репозиториев и отказавшись от "шаблонов-сабмодулей".

Особенность переезда - часть кластеров я мог пересоздавать без проблем сразу с новой инсталляцией flux v2, например, мой сэндбокс и дев кластер, а часть - в продакшене, для которых надо было продумать вопросы DR если что-то пойдет не так и создать мануал для переезда с минимальным downtime.

Как я построил новую монорепу и почему.

Старая схема.

repo-1
└── flux-v1-cluster
    ├── submodule-base
    │   └── charts
    └── submodule-gke
        └── charts

repo-2
└── submodule-base
    └── charts

repo-3
└── submodule-gke
    └── charts

Допустим, мне надо посмотреть, что там у меня за чарт катится в кластер. Я вижу в кластере, что это часть flux, иду в репо flux-v1-cluster, пытаюсь там найти искомое и не нахожу. Ищу дальше, вспоминаю, что тут есть сабмодули, лезу в Submodule-base, ищу там, а там нет... иду в соседнее репо Submodule-gke и ага! Оно тут!

Источник: https://habr.com/ru/articles/734826/


Интересные статьи

Интересные статьи

В данной статье приведен скоуп информации о том, что взять за основу, чтобы развернуть свой домашний Linux-сервер и систему визуализации на нем, используя MQTT в качестве транспорта с о...
Всем привет! В текущей статье, хотелось бы поделиться опытом решения задачи ограничения вывода метрик в Prometheus для сервиса, написанного в функциональном стиле на Spring Webflux.Казалось бы – подкл...
Всем привет! Cегодня я расскажу, как применять InfluxDB для мониторинга систем хранения данных. Я затрону следующие темы: Наше путешествие в стек мониторинга InfluxDB для мониторинга систем хр...
Источник изображения: Shutterstock.com/photowind Добрый день, меня зовут Тараканов Анатолий, я senior java разработчик SberDevices. 2.5 года программирую на Java, до этого 6 лет писа...
Предыстория Несколько месяцев назад я решил попробовать сыграть в Microsoft Flight Simulator 2020. Копия нашей планеты, созданная Asobo при помощи фотограмметрии и машинного обучения, ка...