Файл инвентаризации хостов

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

hostsФайл инвентаризации Ansible используется для отображения и группировки серверов. Его местоположение по умолчанию /etc/ansible/hosts.

Если вы хотите, чтобы ваш hostsфайл Ansible находился в другом месте, вы можете установить эту переменную среды:

> export ANSIBLE_HOSTS=/root/ansible_hosts

Или вы можете указать hostsместоположение Ansible при запуске команд с флагом --inventory-file=(или -i):

> ansible all --inventory-file=/root/ansible_hosts -m ping

Дополнительную информацию о файле hosts инвентаря см. По адресу : http://docs.ansible.com/intro_inventory.html.

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

Для этого примера, я предполагаю , что у вас есть сервера с именами хостов child1.devи child2.dev. При выполнении своей собственной установки замените эти имена хостов своими собственными.

Ваш /etc/ansible/hostsфайл будет выглядеть так:

child1.dev
child2.dev

Вы хотите иметь возможность подключаться к вашим серверам без необходимости вводить пароль каждый раз. Если у вас еще нет аутентификации ключа ssh, настроенной для ваших дочерних узлов, выполните следующие действия …

Сгенерируйте ключ ssh на главном узле:

root@master:~# ssh-keygen -t rsa -C "name@example.org"

Затем скопируйте свой открытый ключ на серверы с помощью ssh-copy-id:

root@master:~# ssh-copy-id user@child1.dev
root@master:~# ssh-copy-id user@child2.dev

Теперь вы можете проверить подключение:

root@master:~# ansible all -m ping
child1.dev | success >> {
    "changed": false, 
    "ping": "pong"
}

child2.dev | success >> {
    "changed": false, 
    "ping": "pong"
}

Далее…

Теперь вы готовы фактически управлять своими серверами с помощью плееров Ansible: http://docs.ansible.com/playbooks_intro.html