Size: a a a

2021 June 26

JC

Jesus Christos in terraform_ru
Здравствуте, у меня такая проблема, хочу поднять EC2 через свой модуль, но никак не могу подключить з network_interface, на данный момент нашол такую схему, но она не рабоает

dynamic "network_interface" {
 for_each =
var.network_interface
 
content {
   device_index = network_interface.value.device_index
   network_interface_id = lookup(network_interface.value, "network_interface_id")
   }
}


Буду очень рад помощи, так как много времени на это потратил)
источник

AD

Aliaksandr Dounar in terraform_ru
ошибка?
источник

JC

Jesus Christos in terraform_ru
Вот
источник

JC

Jesus Christos in terraform_ru
источник

vk

victor kurguzov in terraform_ru
Товарищи, подсобите советом: стало быть ec2 создаются с помощью for_each по переменной, скажем, compute_ec2, в которой хранятся описания для всех мне нужных ec2. Что-то типа
compute_ec2 = {
  "xxx1" = {
      role = "role"
      owner = "owner"
      tier = "tier"
   }
.... и так далее
}

все эти role, owner, tier и так далее - это суть есть тэги для ec2 и проблема в том, что переменных типа той, что я привел выше много, тэгов на порядок больше - на каждую ec2 порядка пятнадцати тегов используется, из-за чего main.tf сильно здоровенный получается, сейчас там 2800+ строк. Может быть как-то можно теги отдельно вынести в модуль и заиспользовать с resource aws_ec2_tag? Но пока не могу уложить в голове, как бы это шибче сделать
источник

S

Sergey in terraform_ru
Создате модуль, в который набрасывпете все что вам надо, в мейне юзаете этот модуль, в одну из переменных мейна использую модуль передаёте списком тэги которые будут установлены. Через dynamic в модулях шлепаете сколько вам надо
источник

S

Sergey in terraform_ru
И будет счастье:)
источник

S

Sergey in terraform_ru
dynamic отлично подходит для такой задачи
источник

S

Sergey in terraform_ru
источник

vk

victor kurguzov in terraform_ru
т.е. отдельный модуль для tags с использованием resource aws_ec2_tag?
источник

S

Sergey in terraform_ru
Аха
источник

S

Sergey in terraform_ru
Наверняка такие уже кто-то сделал за вас, поищите
источник

S

Sergey in terraform_ru
Ну либо напишите
источник

AD

Aliaksandr Dounar in terraform_ru
а код самого ес2 ? явно ж пишет в чем косяк )
источник

JC

Jesus Christos in terraform_ru
источник

JC

Jesus Christos in terraform_ru
Network модуль
источник
2021 June 27

A

Asdqwert in terraform_ru
Всем привет.

Подскажите что лучше использовать для моей ситуации: Ansible provisioner или всё же отдельный stage с Ansible, который будет на вход принимать output от Terraform? Использую Gitlab.

Цель: динамическое создание ec2 (Ubuntu) с K3s (systemd) для деплоя пачки свежесобранных микросервисов и прогона их тестов.
K3s ставится секунды, поэтому в основном Ansible нужно будет заниматься различным helm install, kubectl create secret & etc

cloud-init не подходит, это не прозрачно дебажить и т.п., поэтому выбираю между provisioner и отдельным stage с Ansible.
источник

S

Sebor in terraform_ru
Сделай готовый ami и ничего провиженить не придется
источник

JR

Jürgen Romins in terraform_ru
Поддерживаю
источник

JR

Jürgen Romins in terraform_ru
Ну и до настройка через клауд инит если надо
источник