Terraform - Цикл в Цикле в Цикле - Решение сложных задач - DevOps Pro

Поделиться
HTML-код
  • Опубликовано: 3 окт 2024
  • #setproduct #terraform #devops
    for_each
    for in
    for in
    for in
  • НаукаНаука

Комментарии • 63

  • @ezioauditore1363
    @ezioauditore1363 Год назад +3

    Спасибо тебе, Денис!
    Благодаря тебе моё обучение DevOps сдвинулось с мертвой точки)
    Отлично объясняешь и с душой еще)
    Миллион раз тебе еще - СПАСИБО)

  • @ПавелПуздой
    @ПавелПуздой Год назад +2

    Фигааа, спасибо, Денис!
    Просыпаешься такой с утра, а тебе говорят, что ты уже девопёс-профессионал, потому что чуть раньше смог (признаюсь, давно не было так непросто) разобраться с обходом сложных структур данных вложенными циклами - приятное!))

  • @SuMiSc
    @SuMiSc Год назад +1

    Отлично! Спасибо! Продолжай, пожалуйста! Очень полезно!

  • @Imperfectwow
    @Imperfectwow Год назад +1

    Дэн огромное спасибо за то что ты делаешь, приезжай еще в ТА 🎉😊

  • @fara0n333
    @fara0n333 Год назад +1

    Интересен подход и практика автора, посмотрим)

  • @NikSudo
    @NikSudo Год назад +2

    Спасибо, то что надо!
    Только я бы не городил вот такой локал, а использовал модуль вместе с for_each
    Но, где применить for_each и циклы уже знаю)
    Было математическое решение у меня в нейминге хостов, будет теперь нормальное решение)

  • @joke62121
    @joke62121 Год назад +1

    Спасибо большое за выпуски! Интересно, планируете ли записать уроки по мониторингу, думаю было бы полезно а-ля prometheus + grafana)

    • @ADV-IT
      @ADV-IT  Год назад

      Пока не планирую, делал по AWS CloudWatch

  • @MIRISU2
    @MIRISU2 Год назад +1

    мега полезный контент. на пару недель бы раньше :)

  • @СергейЕвдокимович-у8у

    осебенно когда ты парсишь кофиги, flatten, merge тебе в помощь

  • @NixonTeller
    @NixonTeller Год назад +1

    Денис, нужен обучающий выпуск про то, как обучаться по твоим видео :)

    • @ADV-IT
      @ADV-IT  Год назад +1

      Смотреть и делать самому!

  • @r.v.5606
    @r.v.5606 Год назад

    Денис, добрый день! Я смотрю ваши уроки уже порядка 3-4 лет, и с помощью них стал DevOps инженером. У меня к вам есть один вопрос. Сейчас я живу в РФ и являюсь Middle DevOps инженером. Хотел бы узнать ваше мнение насчет одного вопроса, поскольку насколько помню вы живете в Канаде почти 6 лет. Подскажите, пожалуйста, есть ли у Middle DevOps инженера шанс найти работу в Канаде/США из РФ или других частей света с рабочей визой или же employer-ы из Канади за рубежом ищут только и только Senior DevOps инженеров? Заранее благодарю за все ваши курсы, продолжаю по ним расти по Terraform AWS Kubernetes , благодарю!

    • @ADV-IT
      @ADV-IT  Год назад

      Шансы есть всегда, Junior никогда не возьмут, а опытного могут взять.
      Ищи компании которые First Remote, у них вообще офисов нету, все удаленно из разных стран.

    • @greenman3396
      @greenman3396 Год назад

      дай угадаю, зарплата у тебя 400 000 рублей на руки в белую, на удалёнке, всё верно? и хочешь от 700 000 на руки?

  • @retinizer7702
    @retinizer7702 Год назад +1

    Денис го видосы по куберу

  • @andrey6906
    @andrey6906 Год назад

    Привет, Денис. Есть ли у тебя обновленная роадмапа для девопс инженера? Не устарели ли технологии за 2года(дата последнего такого видео)

    • @ADV-IT
      @ADV-IT  Год назад

      Больше Cloud и Terraform сейчас нужно. Jenkins умирает, вместо него GitHub Actions, GitLab Pipeline

    • @greenman3396
      @greenman3396 Год назад

      @@ADV-IT странно, бесплатный Jenkins умирает и бизнес переходит на платные GitLab? а почему Jenkins умирает? его сообщество перестаёт поддерживать? В вакансиях на российском рынке я часто встречаю именно Gitlab и почему-то не пишут вилки по 700, по 800 000 на руки... Я понимаю, что такие деньги платят, но почему-то такие вилки не указывают, а почему*? На западном рынке труда такая же ситуация? Они не пишут большие вилки, но тот, кто ценит свой труд и понимает что он из себя представляет, может требовать сразу в два раза больше? Вообще, ты сам пробовал такие эксперименты проводить? На любую их сумму отвечать суммой в два раза больше...
      Блин, надо в линке создать супер-резюме, и посмотреть что там будут предлагать, побеседовать с кукушками этими, которые за % там народ зазывают

  • @MIRISU2
    @MIRISU2 Год назад

    Денис, а как можно сгенерить рандомные имена для создаваемых ВМ в НЕ клауд окружениях? Например в вмваре висфере. Типа vm-h21lk35. Было бы здорово услышать/увидеть твоё решение/ твой подход к такой задаче.

    • @ПавелПуздой
      @ПавелПуздой Год назад

      Терраформ не авсом единым) Есть KVM-провайдер, если у всферы существует апиха - то и для неё должен быть

    • @MIRISU2
      @MIRISU2 Год назад

      @@ПавелПуздой У всферы есть апи и терраформ провайдер есть. Вопрос в том как сделать ВМ с рандомными именами. У меня пока не выходит. Поэтому интересно узнать можно ли и как правильно это сделать.

    • @ADV-IT
      @ADV-IT  Год назад

      есть ресурс registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string

    • @MIRISU2
      @MIRISU2 Год назад

      @@ADV-IT да, я его использовал. Но у всех ВМ одно значение получается.

    • @bigsem89
      @bigsem89 Год назад

      @@MIRISU2 так тебе же надо создавать такой ресурс в цикле для каждой VM

  • @kostiantynivanov6875
    @kostiantynivanov6875 7 месяцев назад

    шаг на 14:00 по-моему вообще не нужен, этот ключ после нигде не используется
    ну и конечно же можно было просто изначально взять структуру в iam_group_map, которая будет более удобна, чтобы не приходилось делать потом несколько раз .map() и .flatten()
    любой программист, кто работает со структурами данных тут конечно посмеялся с видео, на ровном месте всё переусложнено)

    • @ADV-IT
      @ADV-IT  7 месяцев назад

      Terraform это не язык программирования, там не всё доступно.

  • @diachokviacheslav4903
    @diachokviacheslav4903 Год назад +1

    ДЯкую. Про викростання ChatGPT в напрямку ДевОпс буде відео? Або можливо короткий огляд і думки з приводу його майбутнього і застосування.

    • @ADV-IT
      @ADV-IT  Год назад +1

      Неа, другие планы на будущие уроки

    • @greenman3396
      @greenman3396 Год назад

      ты сам-то понял, что написал? это что за язык такой чудной? цыганский?

  • @VladyslavHutnyk
    @VladyslavHutnyk Год назад

    С другой фигней проблема
    ids = [,module.instance.ids, ..., ...]
    names = [module.instance.names, ..., ...]
    Уже море схем перепробовал, сейчас на такой ошибке
    var.ec2_instances is object with 2 attributes

  • @SERVICEDESK-tq8gb
    @SERVICEDESK-tq8gb Год назад

    Привет а есть какой то курс чтобы вместо Атома использовать Visual Studio?

    • @ADV-IT
      @ADV-IT  Год назад

      А зачем курс для этого?

  • @ebadmaev
    @ebadmaev Год назад +1

    А тут неважна алгоритмическая сложность : по производительности и по памяти? Зачем использовать вложенные циклы?

    • @mkostrikin
      @mkostrikin Год назад

      для красоты

    • @ПавелПуздой
      @ПавелПуздой Год назад +1

      Эта "сложность" не имеет никакого значения в терраформе, т.к. даже минимальный пинг займёт на порядки больше времени.
      Уже не говоря о том, что время на запуск вм в облаке на порядки больше пинга.
      Это не программистская задача)

  • @Maximus.the.Magnificent
    @Maximus.the.Magnificent Год назад

    Почему ты функцию называешь переменной? Или я что-то не понимаю?

  • @dmitriinadein4733
    @dmitriinadein4733 Год назад

    один вопрос - зачем это все так усложнять?)) но за пример спасибо!

    • @ADV-IT
      @ADV-IT  Год назад

      Покажи как проще!

    • @dmitriimrcat
      @dmitriimrcat Год назад

      @@ADV-IT а нельзя просто несколько переменных и несколько блоков resource для каждой iam группы? а кастом полиси аттачить вообще из файла в отдельной папке

    • @ADV-IT
      @ADV-IT  Год назад

      @@dmitriimrcat Типа хардкодить? это тоже самое что и сервера отдельно делать, а не циклом.

  • @haruops
    @haruops Год назад

    Подскажите, пожалуйста, как корректно через terraform скрипт задать инстансу username и hostname?

    • @ADV-IT
      @ADV-IT  Год назад +1

      прописать всё в user_data

  • @nipo2967
    @nipo2967 Год назад +2

    не было бы проще вместо пtременной, создать locals?
    locals {
    Developers = [
    "arn:aws:iam::aws/policy/AWSProtonDeveloperAccess",
    "arn:aws:iam::aws/policy/..",
    "arn:aws:iam::aws/policy/.."
    ]
    }

    • @ADV-IT
      @ADV-IT  Год назад

      var это то что можно засылть из вне
      locals не засылается

  • @WaltherParabellum
    @WaltherParabellum 11 месяцев назад +1

    Для чего это? Что это? Облачные сервисы?

  • @codeurient
    @codeurient Год назад

    а какой язык

    • @ADV-IT
      @ADV-IT  Год назад

      Terraform

    • @codeurient
      @codeurient Год назад

      @@ADV-IT интересно первый раз слышу. Поинтересуюсь. Спасибо

    • @Fullydownable
      @Fullydownable Год назад +4

      @@codeurient не думаю, что он вам необходим, если первый раз слышите) Просто очень узко специальный)

    • @SuMiSc
      @SuMiSc Год назад

      HCL

  • @ivandiv7946
    @ivandiv7946 Год назад

    Даже младшекласник знает что вложенные циклы это зло

    • @realsandman5736
      @realsandman5736 Год назад +1

      И только такой икспэрд как ты не в состоянии дорубить, что порой без них никак

    • @ivandiv7946
      @ivandiv7946 Год назад

      @@realsandman5736 мы с вами знакомы ? Тыкать своей жене будешь, если она у тебя есть… слово, никак, существует только для слабаков и недознатоков как ты. Одну и ту же задачу можно решить различными способами.

    • @realsandman5736
      @realsandman5736 Год назад

      @@ivandiv7946 просвети нас, монстр алгоритмики)

    • @ПавелПуздой
      @ПавелПуздой Год назад

      Мужчина, вернитесь к отлову багов в своём программировании - вам в другое окно))

  • @СергейЕвдокимович-у8у

    ну не сказал бы

  • @MagDag_
    @MagDag_ Год назад

    Спасибо. Не очень хорошая практика использовать вложенные циклы.

    • @ПавелПуздой
      @ПавелПуздой Год назад +1

      Хм... Хотелось бы больше инфы на тему как вы планируете обходить дикты в диктах без вложенных циклов.
      Понятно, что в конкретном примере у Дениса можно просто переписать входную структуру, а если она уже есть?
      Алсо, структура в примере очень типовая - массив из диктов-ресурсов с вложенными полями, с таким в любом случае придётся хотя бы иногда работать

  • @ДревнийЯпонец
    @ДревнийЯпонец Год назад

    Привет, Денис. Не знал где спросить, спрошу здесь, потому что это свежее видео. Ты хорошо шаришь в AWS сервисах. Смотри, у меня код вебхук телеграм бота реализован в AWS Lambda и работает через шлюз API Gateway Rest, есть база данных RDS, с которой надо чтоб взаимодействовала лямбда функция. Настраивал это всё дело в одном VPC, но функция перестаёт работать с внешним интернетом. Ломал голову и искал решения, нашёл такое, где подключается шлюз NAT к VPC создаются подсети, в общем-то это работает, но там конская плата за шлюз, в то время как всё остальное бесплатно. Подскажи как настроить подключение к RDS из лямбда функции и при этом чтоб код работал с внешними API. Заранее спасибо!

    • @ADV-IT
      @ADV-IT  Год назад

      RDS делать с Public Access, но это not secure

    • @ДревнийЯпонец
      @ДревнийЯпонец Год назад

      @@ADV-IT а как подключится к ней? У меня в настройках базы указано Public, но я все-равно получаю доступ к ней только когда в лямбде vpc указываю, а тогда пропадает доступ в интернет.

    • @ДревнийЯпонец
      @ДревнийЯпонец Год назад

      @@ADV-IT решил проблему созданием нескольких elastic ip и привязкой их к подсетям, которые в лямбде и в рдс. Не знаю вообще как это работает, но работает. И не знаю дорого ли это.