Комментарии 5
Спасибо за статью, любопытно.
Возложим на Terraform следующие задачи:
1. Генерация файлов конфигурации для ArgoCD.
2. Поднятие ресурсов инфраструктуры (в нашем случае базы данных).
3. Инициализация namespace в k8s для пользователя.
1. Почему вы решили использовать Terraform для работы с кластером? Почему не HELM? Не очень понятна аргументация... Логичнее было бы использовать TF для инфраструктурных задач, типа поднять ресурс в облаке...
...Я не DevOps инженер
....Мне представилось решать интересную задачу.
2. Почему вы тогда стали решать эту задачу, исследование, изучение или что-то еще? Вы решали эту задачу опираясь только на собственный опыт или консультировались с *Ops командой?
3. Как генерите json, из TF? Где храните стейт TF?
4. Другие инструменты рассматривали перед началом работы над задачей? Если да, то какие?
5. Какую-то автоматизацию планируете добавлять? Линтеры, различные проверки CI/CD ?
P.S.: Добавил звездочку вашей репе.
Спасибо за ответ!
Вы всё правильно говорите, я поднимал всё локально, а не в облаке, но можно пример адаптировать под облако.
Задачу по созданию портала поставили на команду в которой я был. Конечно же мы тесно сотрудничали с Ops.
content = jsonencode({"destination" = {"server"= each.value.server, "namespace" = each.value.namespace}} )
Для примера из статьи я держал стейт локально на компьютере.
Рассматривали fluxcd и powershell скрипты. По началу команда была против TF и за Powershell скрипты, но на практике ps оказался более гибким, но написание идемпотентных скриптов сложной задачей.
Для примера, мне кажется, это излишним.
А если Terraform заменить на Crossplane, то получится всё максимально k8s нативно ;)
Да есть и другие варианты, но просто для меня не ясно, зачем Terraform? Он же предназначен для инфраструктурных задач...
Реализация конфигурируемого SaaS решения via ArgoCD & Terraform