12-Ansible - Блоки и Условия - Block-When

Поділитися
Вставка
  • Опубліковано 22 сер 2024
  • #devops #девопс #ansible #ityoutubersru
    Ansible - Блоки и Условия - Block-When
    Буду рад паре баксов, можно даже Канадских :) www.paypal.me/...

КОМЕНТАРІ • 95

  • @nikitakabanow3222
    @nikitakabanow3222 4 роки тому +13

    Всем привет) Так же для разнообразия вы можете использовать переменную ansible_pkg_mgr, имхо так более универсальным получиться ваш плейбук)

  • @user-ir1pb7dp4p
    @user-ir1pb7dp4p 3 роки тому +5

    Спасибо за урок. В ansible 2.9.16 модуль yum уже работает с Debian, проверил на версиях: 8.11.1, 9.13.0, 10.7.0
    :-)

  • @crazyhornet3438
    @crazyhornet3438 6 років тому +6

    Лайк не глядя )) Спасибо

  • @elnurmammadov515
    @elnurmammadov515 5 років тому +9

    Спасибо автору за уроки :) П.С. пользуйся grep-ом чтобы время сэкономить

    • @user-gc9ps7kz1w
      @user-gc9ps7kz1w 5 років тому +1

      Александр Ежов Грепаешь) это же очевидно 😛

  • @1o11o11
    @1o11o11 6 років тому +7

    Чотко! Умеете, могёте просто!

  • @nedimice
    @nedimice Рік тому +1

    Спасибо за видео. Очень круто!

  • @username849
    @username849 6 років тому +4

    Лукас

  • @onemasterlomaster1829
    @onemasterlomaster1829 6 років тому +4

    все круто лайк!

  • @vitaliybaker4137
    @vitaliybaker4137 6 років тому +2

    Спасибо за уроки!

  • @user-jf3fk8go2y
    @user-jf3fk8go2y 3 роки тому +4

    па`раметр - это расстояние, которое проходит пар за 1 секунду :)

  • @flipix100
    @flipix100 5 років тому +5

    под os_family была переменная pkg_mgr. Можно ее проверять

  • @uivadim
    @uivadim 5 років тому +12

    Современная версия apt-get называется apt

  • @texasviking7732
    @texasviking7732 2 роки тому +1

    Надо дожать Ansible на следующей неделе 2 собеса)))

  • @ABDULLAH6017
    @ABDULLAH6017 5 років тому +1

    Блиннн я купил все ваши курсы в udemy а вы оказывается уже все слили в Ютуб. (((( Плзз по болше курсов на тематику девопс. Спасибо

    • @ADV-IT
      @ADV-IT  5 років тому +4

      На Udemy уроки выходят сразу после их записи, и там есть возможность их обновить, тут нет

  • @vodopad27
    @vodopad27 5 років тому +4

    Спасибо за урок!
    Но было бы хорошо, если бы ещё было рассмотрено несколько условий одновременной (or, and и т.д.).

  • @telsir4558
    @telsir4558 6 років тому +1

    Повторяю на домашней тачке всё своими руками, что ты проделываешь в видео. Очень понятно и доступно, но было бы неплохо получить текстом сам файл ./MyWebSite/index.html что бы не перепечатывать его вручную из видео.

    • @ADV-IT
      @ADV-IT  6 років тому +4

      Михаил Осин напиши в файле просто Hello world этого хватит

  • @bohdanmartyniv7087
    @bohdanmartyniv7087 3 роки тому +3

    Если выдает Ubuntu ошыку(непонятная, кучю всего красного), в таком случее нужно обновть apt-get командой:
    - name: Upgrade the OS (apt-get dist-upgrade)
    apt:
    upgrade: dist
    when: ansible_os_family == "Debian"

    • @thedepresnak
      @thedepresnak 3 роки тому +2

      достаточно просто обновить репозитории
      - name: update ubuntu
      apt :
      update_cache: yes
      when: ansible_os_family == "Debian"

  • @G.S.Y
    @G.S.Y 2 роки тому +4

    Спасибо большое за уроки!
    Можете пожалуйста читать правильно "RedHat" как "РэдХэт". Вы когда говорите РэдХот, в голове при переводе возникают странные ассоциации 😁

  • @George-mk7lp
    @George-mk7lp 3 роки тому

    ---
    - name: all
    hosts: all
    become: true
    become_method: sudo
    tasks:
    - block:
    when: ansible_facts['distribution'] == "Amazon"
    - name: Install prerequisites
    shell: ls
    - name: Get
    shell: ls -a
    в это примере (простой пример, команды могут быть не правильными)
    можно ли при блоке указать "when" один раз наверху а под ним несколько tasks "- name: " или "when" должен надо указывать каждый раз под каждым "- name"

  • @TheKarlkey
    @TheKarlkey Рік тому +1

    Почему из коментаторов никто не указал, что ansible_os_family == "%os_name%" не указать в переменную в var, круто же было бы, чем тыща раз одно и тоже писать

  • @vadimbeznosenko9690
    @vadimbeznosenko9690 2 роки тому +1

    можно ещё использовать group_by

  • @TheImgoodman
    @TheImgoodman 4 роки тому

    Привет, Денис. Спасибо за уроки. Очень доходно объясняешь.
    Хочу уточнить по этому уроку. У тебя 3 сервера из них два Amazon Linux и один Ubuntu. Соответственно на первых двох пользователь ec2-user, а на третьем ubuntu. Как ansible смог подконектиться к третьему серверу? Когда ты показываешь переменные у тебя только есть только ec2-user. Подозреваю, что тебе пришлось создать на Ubuntu сервере дополнительного пользователя с именем ec2-user. Или есть другой лайфхак?

    • @ADV-IT
      @ADV-IT  4 роки тому

      Посмотри несколько уроков ранее. Там я все описал и показал

    • @serhii2667
      @serhii2667 3 роки тому

      нашел ли ты ответ? Ибо я не нашел

    • @serhii2667
      @serhii2667 3 роки тому +1

      @@ADV-IT единственный вариант вручную задать Linux 3 ansible_user=ubuntu в файле hosts.txt

    • @nedimice
      @nedimice Рік тому +1

      @@serhii2667 Создай отдельный файл для группы серверов Ubuntu в папке group_vars. Думаю, Денис либо додал пользователя ec2-user на Ubuntu, либо же сменил дефолтное им'я на самом сервере.

  • @tensx373
    @tensx373 2 роки тому

    а нельзя хендлеры в блок записать?
    а то как то немного бессмысленно не копировать файл если там дебиан а вдругом редхат
    типо сделать тоже изменение вызвать хендлер
    но уже внутри хендлера определить как перезапускать сервис

  • @sergeyboyarkin4911
    @sergeyboyarkin4911 4 роки тому

    Привет, начал смотреть твои уроки. Очень позновательно, круто. Скажи как установить на RHL через Ansible плагин, который имеет формат .run

    • @ADV-IT
      @ADV-IT  4 роки тому

      Не знаю, почитай доки мож такое поддерживается

  • @vodopad27
    @vodopad27 5 років тому +1

    Ты как-то странно говоришь RedHat :-). Или наоборот ты говоришь правильно, а я привык к неправильному произношению?

    • @andy6739
      @andy6739 4 роки тому +1

      Человек большую часть своей жизни, если не всю, прожил за границей. Судя из видео Израиль и Канада. И там, в том числе и в Европе фонетическое звучание многих терминов и названий не совпадает с привычными выходцам из СНГ. Например, log, многие произносят почти как лок. И я долго не мог понять вопрос "как просмотреть лок файл", ибо что там смотреть в .lock файле с нулевой длиной. В линуксах это файл-флаг залоченного (запущенного) приложения. И так со многими вещами, имеющими изначально англоязычное происхождение. РедХэт сюда же.

  • @vladimirbondarev6676
    @vladimirbondarev6676 3 роки тому +1

    when обязательно в конце блока или можно сразу под строкой block?

    • @ADV-IT
      @ADV-IT  3 роки тому

      Как тебе больше нравится, это YAML, используй синтаксис YAML

    • @alexeiklimenko5211
      @alexeiklimenko5211 Рік тому

      Пробовал сразу под block и в этом случае получил ошибку с синтаксисом yml почему-то

  • @Michael-fr9gy
    @Michael-fr9gy 3 роки тому

    Модуль Template выполняет ту же функцию , что и Copy , только нужен специальный формат j2 ?

    • @Michael-fr9gy
      @Michael-fr9gy 3 роки тому +1

      Ответ нашел в видео 14 , спасибо ! )

  • @timurkash
    @timurkash 4 роки тому +2

    Редхот - спец насмотрелся Красную Жару?

  • @ALG_IT
    @ALG_IT Рік тому

    как изменить имя пользователя ubuntu на ec2-user? подскажи пожалуйста. нихрена не выходит...(

    • @ADV-IT
      @ADV-IT  Рік тому

      Имя пользователя не меняются, просто добавь нового пользователя

  • @YuriyPogrebinsky
    @YuriyPogrebinsky 5 років тому

    Денис , когда искал имя переменной там была переменная с наименованием пакетного менеджера, что как мне кажется было бы логичнее использовать, а так вам для debian , ubuntu, mint и прочих придется условия городить

    • @ADV-IT
      @ADV-IT  5 років тому

      Я не очень понял что за переменная с наименованием менеджера.

    • @saniadas
      @saniadas 5 років тому

      @@ADV-IT переменная
      "ansible_pkg_mgr": "yum"

  • @kanyewest3394
    @kanyewest3394 4 роки тому

    День добрый, при установке на ОС Ubuntu выскакивает данная ошибка: [WARNING]: Could not find aptitude. Using apt-get instead.

    • @kanyewest3394
      @kanyewest3394 4 роки тому +2

      Проблему решил, для решения введите:
      - name: Update apt cache if needed.
      apt: update_cache=yes cache_valid_time=360
      when: ansible_os_family == "Debian"

  • @sergeyzaika9437
    @sergeyzaika9437 5 років тому

    Из чего состоит самый минимальный playbook или без чего это уже не playbook (внутренее содержание)? спасибо

    • @ADV-IT
      @ADV-IT  5 років тому +1

      Ну из хотябы одного task

    • @ADV-IT
      @ADV-IT  5 років тому

      @@sergeyzaika9437 hosts нужен, так как где этот плэёбук воспроизводить?
      на каких серверах?

  • @DmitryLaierCrypto
    @DmitryLaierCrypto 3 роки тому

    Подскажите плз, хендлеры не стоит в блоки вносить?

    • @ADV-IT
      @ADV-IT  3 роки тому +1

      Иногда стоит

  • @archimail
    @archimail 4 роки тому

    А можно в блоке использовать delegate_to в случае, если блок должен пробежать на сервере в переменной указывающей на этот host?

    • @ADV-IT
      @ADV-IT  4 роки тому +1

      Я так давно не использовал Ansible что уже мало что помню

    • @botiyava
      @botiyava 2 роки тому

      @@ADV-IT уже пользуетесь чем-то другим или просто рабочая должность слишком высока, чтобы плейбуки клепать?)

  • @marikifua
    @marikifua 5 років тому

    столкнулся с проблемой - не проходит даже пинг на амазоновский сервер Ubuntu(с RedHat все ОК) , я так понимаю что изза того что юзер там ubuntu при конекте а не ec2-user, как на другие. Почему у тебя все хорошо проходит, если ты в начале ролика показываеш свой group_vars и у тебя там ansible_user только ec2-user прописан ?

    • @ADV-IT
      @ADV-IT  5 років тому +1

      Тебе нужно использовать username который существует на сервере, если нету ec2_user то используя его ты никогда не подключишся.
      Я использую Amazon Linux там *ec2_user*
      На Ubuntu юзер *ubuntu*
      На CentOS юзер *root*

    • @ADV-IT
      @ADV-IT  5 років тому +1

      Там в EC2 Console есть кнопка Connect, нажми её и посмотри какой юзернейм используется

    • @serhii2667
      @serhii2667 3 роки тому

      @@ADV-IT он наверное имеет ввиду, что у тебя в файлах нет упоминания о ubuntu юзере на Ubuntu системе, и ты видимо использовал собственный ami.

    • @nedimice
      @nedimice Рік тому

      Создай отдельный файл для группы серверов Ubuntu в папке group_vars. Думаю, Денис либо додал пользователя ec2-user на Ubuntu, либо же сменил дефолтное им'я на самом сервере.

  • @alexalexl245
    @alexalexl245 3 роки тому

    а почему у меня дебиан и сработал yum? специально его не устанавливал на виртулку

    • @ADV-IT
      @ADV-IT  3 роки тому

      Волшебство

  • @yarbel5051
    @yarbel5051 4 роки тому

    У меня, при использовании блоков выполняется только первый блок, второй все время пропускается и блок не запускается. Без блоков все проходит успешно, устанавливается на все 3 сервера и все работает. В чем может быть ошибка ? И для открытия веб страницы , страница открывается только если я использую mode=0755 , а на видео, страницы открываются и с меньшим правами, просто интересно почему так.

    • @ADV-IT
      @ADV-IT  4 роки тому

      Проверь количество пробелов во проверь втором блоке.

  • @rusynvasyl
    @rusynvasyl 5 років тому +1

    Could you recommend some IDE for ansible?

    • @ADV-IT
      @ADV-IT  5 років тому +3

      Not sure if any exist.
      Use ATOM editor, but not IDE I know about.

    • @stnkubinka
      @stnkubinka 5 років тому +2

      VS Code

    • @YummyRed
      @YummyRed 4 роки тому +2

      vim is also usable.

  • @MotoDoctor
    @MotoDoctor 4 роки тому +1

    На CentOS 7 параметры как у автора не взлетели. Ансибл говорил, что changed installed, но это было не так.
    Решение ниже:
    - name: Apache for RedHat
    yum: name=httpd state=latest disable_gpg_check=yes update_cache=yes
    when: ansible_os_family == "RedHat"

  • @user-jt4kj2hn4q
    @user-jt4kj2hn4q 2 роки тому

    Денис, просьба, если можно, сделай настройку терминала на черные буквы на белом фоне", а то на планшете не различить.

    • @ADV-IT
      @ADV-IT  2 роки тому +1

      Сорри но видео переснимать не буду :)

    • @user-jt4kj2hn4q
      @user-jt4kj2hn4q 2 роки тому

      @@ADV-IT я и не прошу, эту тему я знаю, просто зашёл случайно, послушал, и порекомендовал, хотя хозяин - барин)

  • @user-pu5xs1sj8d
    @user-pu5xs1sj8d 4 роки тому +1

    Актуально и в 2020, если что то не работает, проверьте свою внимательность.

    • @serhii2667
      @serhii2667 3 роки тому

      username не работает, как и не работало

  • @user-lj5ol3rk4c
    @user-lj5ol3rk4c 6 років тому +3

    неплохо и вовремя , но редхот и параметры (с ударением на е) - очень режет слух

    • @ADV-IT
      @ADV-IT  6 років тому +3

      А шо поделать, это у меня такой русский акцент :)

  • @Archeryring
    @Archeryring 4 роки тому

    По-моему, весь этот ansible лишняя сущность, которая вносит ненужный уровень абстракции, там где он не особо то и нужен.
    В общем, "не преумножай сущности без лишней необходимости", как грится. Все делается и без него достаточно просто.
    Но, конечно, мода у работодателей вносит свои коррективы в этот процесс, увы...

    • @ADV-IT
      @ADV-IT  4 роки тому

      Все делается и без него достаточно просто ------ ну да...... на интревью только такое не говори, а то дадут тебе пример простой и спросят как это сделать без него достаточно просто.
      Например установить Cluster Kafka

    • @Archeryring
      @Archeryring 4 роки тому

      @@ADV-IT Cluster Kafka ansible сам не установит, я полагаю. Поэтому лучше к таким работодателям не ходить, если они этого не понимают.

    • @ADV-IT
      @ADV-IT  4 роки тому

      @@Archeryring Установит, только не легко это

  • @AlexAlex-sl6tf
    @AlexAlex-sl6tf 3 роки тому

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

    • @ADV-IT
      @ADV-IT  3 роки тому

      Ты посмотри JSON синтаксис, вот тогда ахренееш, YAML сказкой покажется

    • @AlexAlex-sl6tf
      @AlexAlex-sl6tf 3 роки тому

      @@ADV-IT да норм у джсона синтаксис, да и он больше для хранения данных, всяких условий и переменных там нет.
      А в ансебле в ямле уже больше скрипт идет с условиями и переменными и это просто жесть. Понятно что можно привыкнуть , но накой был этот изврать делать когда все линуксодники и так привыкли к синтаксису баша.

  • @user-zy1hg5xl9w
    @user-zy1hg5xl9w 4 роки тому +1

    Рэдхот режет слух)))

    • @defininito
      @defininito 4 роки тому +1

      Та он заебал уже своими парамЕтрами и редхот.

    • @user-mw1zf5kb6y
      @user-mw1zf5kb6y 4 роки тому

      @@defininito ну волнуется человек, когда снимает видосы, опыта мало видимо

  • @roman-romadin
    @roman-romadin 3 роки тому +1

    "Ansible - С Нуля до Профессионала" Denis Astahov - www.udemy.com/user/denis-astahov/ - отблагодарим Дениса за столь Шикарный курс!

  • @Vol4ikk
    @Vol4ikk 2 роки тому +2

    Денис, шикарные уроки, уже почти всю базу прошел и благодаря тебе понял :)
    Нагуглил удобный вариант, цикла, может кому-то пригодится
    when: ansible_facts['os_family'] == "Debian”