Повторяю на домашней тачке всё своими руками, что ты проделываешь в видео. Очень понятно и доступно, но было бы неплохо получить текстом сам файл ./MyWebSite/index.html что бы не перепечатывать его вручную из видео.
Если выдает Ubuntu ошыку(непонятная, кучю всего красного), в таком случее нужно обновть apt-get командой: - name: Upgrade the OS (apt-get dist-upgrade) apt: upgrade: dist when: ansible_os_family == "Debian"
Спасибо большое за уроки! Можете пожалуйста читать правильно "RedHat" как "РэдХэт". Вы когда говорите РэдХот, в голове при переводе возникают странные ассоциации 😁
--- - 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"
Почему из коментаторов никто не указал, что ansible_os_family == "%os_name%" не указать в переменную в var, круто же было бы, чем тыща раз одно и тоже писать
Привет, Денис. Спасибо за уроки. Очень доходно объясняешь. Хочу уточнить по этому уроку. У тебя 3 сервера из них два Amazon Linux и один Ubuntu. Соответственно на первых двох пользователь ec2-user, а на третьем ubuntu. Как ansible смог подконектиться к третьему серверу? Когда ты показываешь переменные у тебя только есть только ec2-user. Подозреваю, что тебе пришлось создать на Ubuntu сервере дополнительного пользователя с именем ec2-user. Или есть другой лайфхак?
@@serhii2667 Создай отдельный файл для группы серверов Ubuntu в папке group_vars. Думаю, Денис либо додал пользователя ec2-user на Ubuntu, либо же сменил дефолтное им'я на самом сервере.
а нельзя хендлеры в блок записать? а то как то немного бессмысленно не копировать файл если там дебиан а вдругом редхат типо сделать тоже изменение вызвать хендлер но уже внутри хендлера определить как перезапускать сервис
Человек большую часть своей жизни, если не всю, прожил за границей. Судя из видео Израиль и Канада. И там, в том числе и в Европе фонетическое звучание многих терминов и названий не совпадает с привычными выходцам из СНГ. Например, log, многие произносят почти как лок. И я долго не мог понять вопрос "как просмотреть лок файл", ибо что там смотреть в .lock файле с нулевой длиной. В линуксах это файл-флаг залоченного (запущенного) приложения. И так со многими вещами, имеющими изначально англоязычное происхождение. РедХэт сюда же.
Денис , когда искал имя переменной там была переменная с наименованием пакетного менеджера, что как мне кажется было бы логичнее использовать, а так вам для debian , ubuntu, mint и прочих придется условия городить
столкнулся с проблемой - не проходит даже пинг на амазоновский сервер Ubuntu(с RedHat все ОК) , я так понимаю что изза того что юзер там ubuntu при конекте а не ec2-user, как на другие. Почему у тебя все хорошо проходит, если ты в начале ролика показываеш свой group_vars и у тебя там ansible_user только ec2-user прописан ?
Тебе нужно использовать username который существует на сервере, если нету ec2_user то используя его ты никогда не подключишся. Я использую Amazon Linux там *ec2_user* На Ubuntu юзер *ubuntu* На CentOS юзер *root*
Создай отдельный файл для группы серверов Ubuntu в папке group_vars. Думаю, Денис либо додал пользователя ec2-user на Ubuntu, либо же сменил дефолтное им'я на самом сервере.
У меня, при использовании блоков выполняется только первый блок, второй все время пропускается и блок не запускается. Без блоков все проходит успешно, устанавливается на все 3 сервера и все работает. В чем может быть ошибка ? И для открытия веб страницы , страница открывается только если я использую mode=0755 , а на видео, страницы открываются и с меньшим правами, просто интересно почему так.
На 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"
По-моему, весь этот ansible лишняя сущность, которая вносит ненужный уровень абстракции, там где он не особо то и нужен. В общем, "не преумножай сущности без лишней необходимости", как грится. Все делается и без него достаточно просто. Но, конечно, мода у работодателей вносит свои коррективы в этот процесс, увы...
Все делается и без него достаточно просто ------ ну да...... на интревью только такое не говори, а то дадут тебе пример простой и спросят как это сделать без него достаточно просто. Например установить Cluster Kafka
@@ADV-IT да норм у джсона синтаксис, да и он больше для хранения данных, всяких условий и переменных там нет. А в ансебле в ямле уже больше скрипт идет с условиями и переменными и это просто жесть. Понятно что можно привыкнуть , но накой был этот изврать делать когда все линуксодники и так привыкли к синтаксису баша.
Денис, шикарные уроки, уже почти всю базу прошел и благодаря тебе понял :) Нагуглил удобный вариант, цикла, может кому-то пригодится when: ansible_facts['os_family'] == "Debian”
Всем привет) Так же для разнообразия вы можете использовать переменную ansible_pkg_mgr, имхо так более универсальным получиться ваш плейбук)
Спасибо за урок. В ansible 2.9.16 модуль yum уже работает с Debian, проверил на версиях: 8.11.1, 9.13.0, 10.7.0
:-)
Лайк не глядя )) Спасибо
Спасибо автору за уроки :) П.С. пользуйся grep-ом чтобы время сэкономить
Александр Ежов Грепаешь) это же очевидно 😛
Чотко! Умеете, могёте просто!
Спасибо за видео. Очень круто!
Лукас
все круто лайк!
Спасибо за уроки!
па`раметр - это расстояние, которое проходит пар за 1 секунду :)
под os_family была переменная pkg_mgr. Можно ее проверять
Современная версия apt-get называется apt
Надо дожать Ansible на следующей неделе 2 собеса)))
Блиннн я купил все ваши курсы в udemy а вы оказывается уже все слили в Ютуб. (((( Плзз по болше курсов на тематику девопс. Спасибо
На Udemy уроки выходят сразу после их записи, и там есть возможность их обновить, тут нет
Спасибо за урок!
Но было бы хорошо, если бы ещё было рассмотрено несколько условий одновременной (or, and и т.д.).
Повторяю на домашней тачке всё своими руками, что ты проделываешь в видео. Очень понятно и доступно, но было бы неплохо получить текстом сам файл ./MyWebSite/index.html что бы не перепечатывать его вручную из видео.
Михаил Осин напиши в файле просто Hello world этого хватит
Если выдает Ubuntu ошыку(непонятная, кучю всего красного), в таком случее нужно обновть apt-get командой:
- name: Upgrade the OS (apt-get dist-upgrade)
apt:
upgrade: dist
when: ansible_os_family == "Debian"
достаточно просто обновить репозитории
- name: update ubuntu
apt :
update_cache: yes
when: ansible_os_family == "Debian"
Спасибо большое за уроки!
Можете пожалуйста читать правильно "RedHat" как "РэдХэт". Вы когда говорите РэдХот, в голове при переводе возникают странные ассоциации 😁
---
- 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"
Почему из коментаторов никто не указал, что ansible_os_family == "%os_name%" не указать в переменную в var, круто же было бы, чем тыща раз одно и тоже писать
можно ещё использовать group_by
Привет, Денис. Спасибо за уроки. Очень доходно объясняешь.
Хочу уточнить по этому уроку. У тебя 3 сервера из них два Amazon Linux и один Ubuntu. Соответственно на первых двох пользователь ec2-user, а на третьем ubuntu. Как ansible смог подконектиться к третьему серверу? Когда ты показываешь переменные у тебя только есть только ec2-user. Подозреваю, что тебе пришлось создать на Ubuntu сервере дополнительного пользователя с именем ec2-user. Или есть другой лайфхак?
Посмотри несколько уроков ранее. Там я все описал и показал
нашел ли ты ответ? Ибо я не нашел
@@ADV-IT единственный вариант вручную задать Linux 3 ansible_user=ubuntu в файле hosts.txt
@@serhii2667 Создай отдельный файл для группы серверов Ubuntu в папке group_vars. Думаю, Денис либо додал пользователя ec2-user на Ubuntu, либо же сменил дефолтное им'я на самом сервере.
а нельзя хендлеры в блок записать?
а то как то немного бессмысленно не копировать файл если там дебиан а вдругом редхат
типо сделать тоже изменение вызвать хендлер
но уже внутри хендлера определить как перезапускать сервис
Привет, начал смотреть твои уроки. Очень позновательно, круто. Скажи как установить на RHL через Ansible плагин, который имеет формат .run
Не знаю, почитай доки мож такое поддерживается
Ты как-то странно говоришь RedHat :-). Или наоборот ты говоришь правильно, а я привык к неправильному произношению?
Человек большую часть своей жизни, если не всю, прожил за границей. Судя из видео Израиль и Канада. И там, в том числе и в Европе фонетическое звучание многих терминов и названий не совпадает с привычными выходцам из СНГ. Например, log, многие произносят почти как лок. И я долго не мог понять вопрос "как просмотреть лок файл", ибо что там смотреть в .lock файле с нулевой длиной. В линуксах это файл-флаг залоченного (запущенного) приложения. И так со многими вещами, имеющими изначально англоязычное происхождение. РедХэт сюда же.
when обязательно в конце блока или можно сразу под строкой block?
Как тебе больше нравится, это YAML, используй синтаксис YAML
Пробовал сразу под block и в этом случае получил ошибку с синтаксисом yml почему-то
Модуль Template выполняет ту же функцию , что и Copy , только нужен специальный формат j2 ?
Ответ нашел в видео 14 , спасибо ! )
Редхот - спец насмотрелся Красную Жару?
как изменить имя пользователя ubuntu на ec2-user? подскажи пожалуйста. нихрена не выходит...(
Имя пользователя не меняются, просто добавь нового пользователя
Денис , когда искал имя переменной там была переменная с наименованием пакетного менеджера, что как мне кажется было бы логичнее использовать, а так вам для debian , ubuntu, mint и прочих придется условия городить
Я не очень понял что за переменная с наименованием менеджера.
@@ADV-IT переменная
"ansible_pkg_mgr": "yum"
День добрый, при установке на ОС Ubuntu выскакивает данная ошибка: [WARNING]: Could not find aptitude. Using apt-get instead.
Проблему решил, для решения введите:
- name: Update apt cache if needed.
apt: update_cache=yes cache_valid_time=360
when: ansible_os_family == "Debian"
Из чего состоит самый минимальный playbook или без чего это уже не playbook (внутренее содержание)? спасибо
Ну из хотябы одного task
@@sergeyzaika9437 hosts нужен, так как где этот плэёбук воспроизводить?
на каких серверах?
Подскажите плз, хендлеры не стоит в блоки вносить?
Иногда стоит
А можно в блоке использовать delegate_to в случае, если блок должен пробежать на сервере в переменной указывающей на этот host?
Я так давно не использовал Ansible что уже мало что помню
@@ADV-IT уже пользуетесь чем-то другим или просто рабочая должность слишком высока, чтобы плейбуки клепать?)
столкнулся с проблемой - не проходит даже пинг на амазоновский сервер Ubuntu(с RedHat все ОК) , я так понимаю что изза того что юзер там ubuntu при конекте а не ec2-user, как на другие. Почему у тебя все хорошо проходит, если ты в начале ролика показываеш свой group_vars и у тебя там ansible_user только ec2-user прописан ?
Тебе нужно использовать username который существует на сервере, если нету ec2_user то используя его ты никогда не подключишся.
Я использую Amazon Linux там *ec2_user*
На Ubuntu юзер *ubuntu*
На CentOS юзер *root*
Там в EC2 Console есть кнопка Connect, нажми её и посмотри какой юзернейм используется
@@ADV-IT он наверное имеет ввиду, что у тебя в файлах нет упоминания о ubuntu юзере на Ubuntu системе, и ты видимо использовал собственный ami.
Создай отдельный файл для группы серверов Ubuntu в папке group_vars. Думаю, Денис либо додал пользователя ec2-user на Ubuntu, либо же сменил дефолтное им'я на самом сервере.
а почему у меня дебиан и сработал yum? специально его не устанавливал на виртулку
Волшебство
У меня, при использовании блоков выполняется только первый блок, второй все время пропускается и блок не запускается. Без блоков все проходит успешно, устанавливается на все 3 сервера и все работает. В чем может быть ошибка ? И для открытия веб страницы , страница открывается только если я использую mode=0755 , а на видео, страницы открываются и с меньшим правами, просто интересно почему так.
Проверь количество пробелов во проверь втором блоке.
Could you recommend some IDE for ansible?
Not sure if any exist.
Use ATOM editor, but not IDE I know about.
VS Code
vim is also usable.
На 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"
Денис, просьба, если можно, сделай настройку терминала на черные буквы на белом фоне", а то на планшете не различить.
Сорри но видео переснимать не буду :)
@@ADV-IT я и не прошу, эту тему я знаю, просто зашёл случайно, послушал, и порекомендовал, хотя хозяин - барин)
Актуально и в 2020, если что то не работает, проверьте свою внимательность.
username не работает, как и не работало
неплохо и вовремя , но редхот и параметры (с ударением на е) - очень режет слух
А шо поделать, это у меня такой русский акцент :)
По-моему, весь этот ansible лишняя сущность, которая вносит ненужный уровень абстракции, там где он не особо то и нужен.
В общем, "не преумножай сущности без лишней необходимости", как грится. Все делается и без него достаточно просто.
Но, конечно, мода у работодателей вносит свои коррективы в этот процесс, увы...
Все делается и без него достаточно просто ------ ну да...... на интревью только такое не говори, а то дадут тебе пример простой и спросят как это сделать без него достаточно просто.
Например установить Cluster Kafka
@@ADV-IT Cluster Kafka ansible сам не установит, я полагаю. Поэтому лучше к таким работодателям не ходить, если они этого не понимают.
@@Archeryring Установит, только не легко это
Крутые люди придумали ансбл, и все испортили дибильным ямлом со своим синтексисом. Почему нельзя было башеподобный синтексис применить.
Ты посмотри JSON синтаксис, вот тогда ахренееш, YAML сказкой покажется
@@ADV-IT да норм у джсона синтаксис, да и он больше для хранения данных, всяких условий и переменных там нет.
А в ансебле в ямле уже больше скрипт идет с условиями и переменными и это просто жесть. Понятно что можно привыкнуть , но накой был этот изврать делать когда все линуксодники и так привыкли к синтаксису баша.
Рэдхот режет слух)))
Та он заебал уже своими парамЕтрами и редхот.
@@defininito ну волнуется человек, когда снимает видосы, опыта мало видимо
"Ansible - С Нуля до Профессионала" Denis Astahov - www.udemy.com/user/denis-astahov/ - отблагодарим Дениса за столь Шикарный курс!
Денис, шикарные уроки, уже почти всю базу прошел и благодаря тебе понял :)
Нагуглил удобный вариант, цикла, может кому-то пригодится
when: ansible_facts['os_family'] == "Debian”