Ansible роли

Чтобы сгенерировать роль, можно просто использовать команду ansible-galaxy init -p roles web   Сруктура ролей должна быть такой: / — roles — tasks задачи main.yml — vars переменные которые не дожны переопределяться main.yml — handlers обработчики main.yml — defaults переменные, которые могут переопределяться — temlates шаблоны — files файлы выгружаемые на хост — meta информация […]

Read More &#8594

Ansible уведомление в slack

— — name: deploy mezzanine on vagrant hosts: web vars_files: — secrets.yml pre_tasks: — name: update the apt cache apt: update_cache=yes roles: — role: mezzanine database_host: «{{ hostvars.db.ansivle_eth1.ipv4.address }}» live_hostname: 192.168.33.10.xip.io domains: — 192.168.33.10.xip.io — www.192.168.33.10.xip.io post_tasks: — name: notify Slack channel local_action: > slack domain=acme.slack.com token={{ stack_token }} msg=»web server {{ inventory_hostname }} done» […]

Read More &#8594

Ansible переменные

Как переменной присвоить результат команды — name: capture output of whoami command command: whoami regisrer: login — debug: var=login так можно вывести значение переменной, оно будет в графе stdout Дальнейшее использование этой переменной — name: capture putput of id command command: id -un register: login — debug: msg=»Logged in as user {{ login.stdout }}» или […]

Read More &#8594

Ansible динамический реестр (hosts)

Для того чтобы динамически извлекать хосты, например из амазона, надо создать выполняемый файл, который принимает параметры —hosts=<hostname> — информация о хостах —list — информация о группах Так выводится должна информация о хосте, в формате json dynamic.py —host=vagrant2 {«ansible_ssh_host»: «127.0.0.1», «ansible_ssh_port»: 2200, «ansible_ssh_user»: «vagrant» } Так должна выводиться информация о группах { «vagrant»: [ «vagrant1», «vagrant2» […]

Read More &#8594

Ansible пользователи в play book

Указывается в начале файла — — hosts: webservers remote_user: root Так же можно указать отдельного пользователя для отдельной задачи — — hosts: webservers remote_user: root tasks: — name: test connection ping: remote_user: yourname Можно сделать эскалацию пользователя (сменить пользователя) — — hosts: webservers remote_user: yourname become: yes Так же можно указать отдельного пользователя, для отдельной […]

Read More &#8594

Ansible основы

ansible.cfg — файл конфигурации mytasks.yml — файл выполняемых команд requriments.txt — файл с описанием зависимостей inventory — файл содержащий хосты с которыми работаем, может быть динамическим, можно переопределить данные заданные в ansible.cfg, описание в формате ini, можно создавать группы и группы из групп Playbook — состоит из play (одно действие) Можно использовать переменные, есть системные […]

Read More &#8594