Настройка ansible
Приоритет поиска файла настроек
- ANSIBLE_CONFIG (environment variable if set)
- ansible.cfg (in the current directory)
- ~/.ansible.cfg (in the home directory)
- /etc/ansible/ansible.cfg (default)
Генерация настроек
ansible-config init --disabled > ansible.cfg
С плагинами
ansible-config init --disabled -t all > ansible.cfg
# и ; комментарии. Но ; обычно используется для комментария значения по умолчанию.
Файл инвентаризации
hosts
Размещение файла может задаваться переменной окружения $ANSIBLE_HOSTS, либо ключ -i при запуске
После : пишется тип данных для группы. Например группа [example], [example:vars] это переменные
:vars переменные для группы
:children группы-потомки
Пример
[example] группа
www.example.com сервер
# Group 'multi' with all servers
[multi:children]
example
#5 servers in one line [a:z] or [A:Z], or numbers with specific digits, such as [001:250].
[dyngroup]
Node[0:4].lab.edu
# Variables that will be applied to all servers
[multi:vars]
ansible_ssh_user=vagrant
Файлы размещения переменных:
Файлы с переменными групп хранятся в директории “group_vars/имя_группы”;
Файлы с переменными хостов в директории “hosts_vars/имя_хоста”;
Формат файла одинаковый, дочерние переменные заменяются на родительские.
---
ansible_user=setup
ansible_private_ssh_key=/home/user/ansible.key
Предустановленные переменные
Переменная | Использование |
ansible_user | пользователь, от имени которого выполняются задачи на хостах данной группы. Значение в файле задач игнорируется. |
ansible_host | Сопоставление ip-имени |
ansible_port | Порт доступа по ssh |
ansible_connection | Может быть ssh, local, docker (запуск команд непосредственно на контейнере) |
ansible_become | + sudo |
ansible_become_user | sudo -> another user |
ansible_ssh_private_key_file | адрес ключа |
Ссылки: