Как стать автором
Обновить

Комментарии 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.: Добавил звездочку вашей репе.

Спасибо за ответ!

  1. Вы всё правильно говорите, я поднимал всё локально, а не в облаке, но можно пример адаптировать под облако.

  2. Задачу по созданию портала поставили на команду в которой я был. Конечно же мы тесно сотрудничали с Ops.

  3. content = jsonencode({"destination" = {"server"= each.value.server, "namespace" = each.value.namespace}} )

    Для примера из статьи я держал стейт локально на компьютере.

  4. Рассматривали fluxcd и powershell скрипты. По началу команда была против TF и за Powershell скрипты, но на практике ps оказался более гибким, но написание идемпотентных скриптов сложной задачей.

  5. Для примера, мне кажется, это излишним.

А если Terraform заменить на Crossplane, то получится всё максимально k8s нативно ;)

Да есть и другие варианты, но просто для меня не ясно, зачем Terraform? Он же предназначен для инфраструктурных задач...

Думаю я привёл не самый лучший пример. Доступа к облаку на момент написания статьи у меня не было, поэтому делал всё локально.

Например можно заменить PostgreSQL на облачную версию Azure, добавить какую-нибудь службу обмена сообщениями (аля Azure Service Bus) и т.д.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации