Size: a a a

2020 June 04

Г

Гайрат in terraform_ru
bykva
ну вот я в частноснти про ансибл который через нул-ресурс идет
Почему не ansible provisioner?
источник

AR

Alexey Remizov in terraform_ru
Victor Tur
Доступна 0.13 бета
Дикий патчинг провайдеров теперь будет сложной историей. Всё ставится через репозитории. Поддержки локальных не увидел пока. Как и спеки для создания собственного репоса.
источник

AK

Andrey Kartashov in terraform_ru
Egor Mikheev
Приветствую, начал использовать терраформ при разворачивании кластера, и сразу столкнулся с несколькими проблемами. А именно порядок исполнения. В моем случае сперва должен создаваться класстер kubernetes ,а после пользователи и права. Но терраформ сейчас порядок не соблюдает. Буду признателен за подсказку
Пользователи и права - это какие ресурсы?
источник

EM

Egor Mikheev in terraform_ru
Cluster Role Binding
Service Account
Cluster Role
источник

AK

Andrey Kartashov in terraform_ru
Понятно. А как настройки k8s провайдера передаёте?
источник

EM

Egor Mikheev in terraform_ru
Andrey Kartashov
Понятно. А как настройки k8s провайдера передаёте?
источник

AK

Andrey Kartashov in terraform_ru
У tf провайдер не может быть готов до деплоя кластера, поэтому он не может ресурсы кластера разворачивать до готовности кластера
источник

EM

Egor Mikheev in terraform_ru
А не подскажите как правильно обойти данное ограничение?
источник

AK

Andrey Kartashov in terraform_ru
Зачем его обходить?
источник

AK

Andrey Kartashov in terraform_ru
Egor Mikheev
А не подскажите как правильно обойти данное ограничение?
Вообще, покажи код. Будет проще ткнуть в неправильное место
источник

AR

Alexey Remizov in terraform_ru
Самое быстрое — через -target прогнать манифест до создания кластера, потом уже запускать манифест целиком.
источник

EM

Egor Mikheev in terraform_ru
Andrey Kartashov
Вообще, покажи код. Будет проще ткнуть в неправильное место
чуть выше ссылка на вопрос в Тостере
источник

AK

Andrey Kartashov in terraform_ru
Alexey Remizov
Самое быстрое — через -target прогнать манифест до создания кластера, потом уже запускать манифест целиком.
Плохому учишь. Должна быть зависимость
источник

EM

Egor Mikheev in terraform_ru
Andrey Kartashov
Зачем его обходить?
Создаю кластер, создаю сразу сервисные службы хотелось бы автоматизировать вплоть до пуша сервисов через CI
источник

AK

Andrey Kartashov in terraform_ru
Egor Mikheev
чуть выше ссылка на вопрос в Тостере
Код правильный, террором должен сначала создать кластер, потом ресурсы. Если что то идёт не так, запускай с дебагом
источник

AK

Andrey Kartashov in terraform_ru
Возможно это баг в провайдере scaleway, и он отдаёт конфиг неготового кластера.
источник

AB

Anton Babenko in terraform_ru
Вижу тут была недавно дискусия про то, как передать данные между модулями в <0.13 и как мы жили без depends_on в модулях (tldr - хорошо)🙂 Вот код, который создаёт один null_resource (загружает архив), а потом когда загрузится передаём его в модуль:
locals {
 package_url = "https://raw.githubusercontent.com/terraform-aws-modules/terraform-aws-lambda/master/examples/fixtures/python3.8-zip/existing_package.zip"
 downloaded  = "downloaded_package_${md5(local.package_url)}.zip"
}

resource "null_resource" "download_package" {
 triggers = {
   downloaded = local.downloaded
 }

 provisioner "local-exec" {
   command = "curl -L -o ${local.downloaded} ${local.package_url}"
 }
}

data "null_data_source" "downloaded_package" {
 inputs = {
   id       = null_resource.download_package.id
   filename = local.downloaded
 }
}

module "abc" {
 filename = data.null_data_source.downloaded_package.outputs["filename"]
}
источник

AB

Anton Babenko in terraform_ru
это же делается и в случаях, когда надо точно дождаться аутпута от одного или нескольких модулей, а потом передать их дальше в другие модули
источник

AB

Anton Babenko in terraform_ru
не надо использовать -target и depends_on (даже на data-source)
источник

AR

Alexey Remizov in terraform_ru
Это понятно. Тут речь про цепные провайдеры. Когда провайдер настраивается выхлопом ресурса из этого же манифеста. В доке явно написано, что цепи провайдеров вообще работать не обязаны. Но на практике они почти всегда работают. :> Пока они работают, будут такие темы.
источник