Ansible — Запуск Playbook’а с определенной версией Python

К примеру есть инстанс, на котором установлен Python 2-ой и 3-ей версий, но по умолчанию используется 2-ая, и чтобы не менять версию по умолчанию и запустить Playbook используя Python3, можно воспользоваться следующей командой:   Так же можно указать интерпретатор в инвентори файле:   Убедитесь, что для нужной версии Python установлен Ansible модуль

Ansible — Template: to_nice_json

Для того, чтобы создать из шаблона файл и сразу его сохранить как "Pretty JSON" можно воспользоваться модулем "copy" с ключем "content". К примеру сохраним шаблон "config.j2" как файл "/app/config.json" Playbook:

FIX ERROR — Ansible AWS SSM: AnsibleError: An unhandled exception occurred while templating

При попытке получить значение с AWS SSM Ansible Playbook используя в качестве интерпретатора Python3 выдает следующую ошибку: fatal: [localhost-py3]: FAILED! => {"changed": false, "msg": "AnsibleError: An unhandled exception occurred while templating '{{ lookup('aws_ssm', 'server_listeners', decrypt=false, region='eu-west-1') }}'. Error was a <class 'ansible.errors.AnsibleError'>, original message: An unhandled exception occurred while running the lookup plugin 'aws_ssm'. Error … Продолжить читать "FIX ERROR — Ansible AWS SSM: AnsibleError: An unhandled exception occurred while templating"

Ansible — Получить IP адрес другого хоста с hosts файла

Пример, как получить IP адрес другого хоста с "hosts" файла, выполняя задачу на другом хосте.   server1 - на нем будет выполнятся наш Playbook server2 - его IP адрес нам нужен в Playbook'е   hosts:   Для того, чтобы получить IP адрес, мы будем использовать "hostvars", где укажем имя нужного нам сервера, в нашем случае … Продолжить читать "Ansible — Получить IP адрес другого хоста с hosts файла"

Ansible — Использовать значения в цикле с hosts файла на другом хосте

  Есть "hosts" файл, в котором есть группа "db". Это инстансы с базами данных, которые выполняют разную роль. Цель добавить тип роли в "hosts" файл, чтобы потом это значение мы могли использовать в цикле, который будет выполнятся совершенно на другом хосте, к примеру "management"   Исходный "hosts" файл:   Добавим ключ "role" с нужным значением … Продолжить читать "Ansible — Использовать значения в цикле с hosts файла на другом хосте"

Ansible — Количество хостов группе

Есть "hosts" файл, в котором в группе "db" есть N количество хостов, нужно в плейбуке автоматически задавать переменную, равную количеству хостов в определенной группе hosts   example.yaml

Ansible — Отключить Swap

Данный Playbook отключает Swap и удаляет его из файла "/etc/fstab"   swap_disable.yaml   Применяем Playbook:

Ansible Playbook — Установка Docker в CentOS 7

За основу был взят следующий Playbook. Данный Playbook запускается на группе хостов "docker", устанавливает необходимые пакеты для Docker'а, добавляет Docker репозиторий, устанавливает Docker, запускает его и добавляет в автозапуск. Так же добавляет пользователя "artem" в группу "docker"   docker.yaml   Применяем Playbook:

Ansible — Установка

Простой пример установки Ansible и добавления хоста.   Устанавливаем Ansible: RedHat системы: Deb системы:   Генерируем SSH ключ, если его нет на инстансе с Ansible:   Добавляем публичный ключ на хост, которым будем управлять:   Добавим хост в список:   И вставим туда следующее:   Вы можете указывать как IP адрес, так и DNS имя. … Продолжить читать "Ansible — Установка"