По следам Selectel Admin Meetup: GitOps
Антон рассказывал о том как они готовят ML инфраструктуру для клиентов
Что хочу отметить сразу:
- интересно посмотреть как ресурсы связаны между собой
- как ресурсы упакованы в pipeline и как он вызывается
Был интересный вопрос о том, а что будет если Gitlab, который является
источником правды упадет?
Тут достаточно все просто - падание Gitlab не так страшно, так как в
моменте на "скорость полета" это не повлияет. Все ресурсы уже созданы.
Если надо что-то обновить/добавить, а Gitlab "валяется", станет несколько сложнее.
Думаю что команда которая отвечает за Gitlab как сервис вполне себе озаботилась
и отказоустойчивостью, и резервированием, и резервными копиями.
А вот потеря terraform state со всеми его ресурсами - это уже беда.
Так как частей инфраструктуры которые были созданы при помощи terraform много.
Соотвественно state нужно бекапить, часто, в надежное место, и иногда еще и проверять.
"Секретные данные" которые используются в Gitlab pipeline, скорее всего хранятся в Vault,
так что его отказоустойчивостью тоже стоит заняться.
Из несовсем очевидных историй, которые стоит подсветить, это то что количество downstream pipeline не бесконечно и в определенных случаях, когда вложенность pipeline становится больше 3х,
все это может сломаться =(
Мы в своем infra pipeline как раз с этим и столкнулись, решение вроде и простое, переделать структуру репозитория, но достаточно трудоемкое.
Что еще можно посмотреть/интегрировать:
- Terragrunt - как раз таки позволит переиспользовать код и добавить ооочень крутую шаблонизацию
- Atlantis - возможно тоже стоит посмотреть, выглядит так что он достаточно просто интегрируется с CI/CD системами
Антон, спасибо большое за доклад, было очень интересно! ^_^
А в этом посте просто мои рассуждения =)
Презентация Антона тут
Post #10
502
- ❤ 15
- 👍 4