Привет всем. Меня зовут Алексей, я DevOps-инженер, и сегодня я хочу рассказать немного об одном инфраструктурном решении моего ключевого заказчика.
Немного о моей работе и разделении ответственности. Я предоставляю услуги по настройке и сопровождению облачной инфраструктуры на основе GCP, а также мониторинг, алертинг, логи и т.д. В Altenar я являюсь частью команды автоматизации, которая также занимается релизными пайплайнами, улучшением различных процессов в компании и другими важными вещами. CI, сборки, сеть, доступы - за это отвечают другие команды, и этих частей я касаюсь очень мало либо совсем не трогаю их.
В моей команде издревна использовался flux v1 для кластеров на VM и для GKE в формате "один кластер - один репозиторий", с подключенными "шаблонами" в виде Git submodules. У такого подхода есть свои минусы, один из самых существенных - первая версия flux уже не поддерживается с конца 2020 года.
Таким образом, у нас был некий техдолг в виде первого flux, и необходимость рано или поздно обновляться до версии 2 или переходить на другие инструменты. Был выбран первый вариант, заодно я решил кое-что улучшить в нашей текущей структуре, убрав кучу различных репозиториев и отказавшись от "шаблонов-сабмодулей".
Особенность переезда - часть кластеров я мог пересоздавать без проблем сразу с новой инсталляцией flux v2, например, мой сэндбокс и дев кластер, а часть - в продакшене, для которых надо было продумать вопросы DR если что-то пойдет не так и создать мануал для переезда с минимальным downtime.