Переменные поведения#
Переменные поведения можно разделить на следующие типы:
тип подключения;
общие для всех подключений;
настройки протокола SSH;
повышение привилегий;
параметры окружений управляемых узлов.
Тип подключения#
Тип подключения к узлам платформы задается с помощью настройки ansible_connection
:
ssh
(по умолчанию);winrm
– подключение по протоколу WinRM к узлу с операционной системой Windows;local
– если узел является локальной машиной;paramiko
– подключение с использованием протокола Paramiko.
Пример заполнения:
[webservers]
web01 ansible_connection=local
---
webservers:
hosts:
web01:
ansible_connection: local
Общие для всех подключений#
Для всех типов подключения возможно использование следующих настроек:
- ansible_host#
IP-адрес или доменное имя узла.
Пример заполнения:
[webservers] web01 ansible_host=192.168.56.11
--- webservers: hosts: web01: ansible_host: 192.168.56.11
- ansible_port#
Порт TCP для подключения, если он отличается от значения по умолчанию. Значение для SSH –
22
.Пример заполнения:
[webservers] web01 ansible_port=222
--- webservers: hosts: web01: ansible_port: 222
- ansible_user#
Название учетной записи пользователя.
Пример заполнения:
[webservers] web01 ansible_user=admin
--- webservers: hosts: web01: ansible_user: admin
- ansible_password#
Пароль, используемый для аутентификации.
Пример заполнения:
[webservers] web01 ansible_password=p@ssw0rd!
--- webservers: hosts: web01: ansible_password: p@ssw0rd!
Настройки протокола SSH#
Для настройки протокола SSH используются следующие переменные:
- ansible_ssh_private_key_file#
Путь к файлу приватного ключа.
Пример заполнения:
[webservers] web01 ansible_ssh_private_key_file=/path/to/private_key
--- webservers: hosts: web01: ansible_ssh_private_key_file: /path/to/private_key
- ansible_ssh_common_args#
Дополнительные аргументы вызова утилит
ssh
,scp
иsftp
.Пример заполнения:
[webservers] web01 ansible_ssh_common_args='-o StrictHostKeyChecking=no'
--- webservers: hosts: web01: ansible_ssh_common_args: '-o StrictHostKeyChecking=no'
- ansible_sftp_extra_args#
Дополнительные аргументы вызова утилиты
sftp
.Пример заполнения:
[webservers] web01 ansible_sftp_extra_args='-C'
--- webservers: hosts: web01: ansible_sftp_extra_args: '-C'
- ansible_scp_extra_args#
Дополнительные аргументы вызова утилиты
scp
.Пример заполнения:
[webservers] web01 ansible_scp_extra_args='-C'
--- webservers: hosts: web01: ansible_scp_extra_args: '-C'
- ansible_ssh_extra_args#
Дополнительные аргументы вызова утилиты
ssh
.Пример заполнения:
[webservers] web01 ansible_ssh_extra_args='-v'
--- webservers: hosts: web01: ansible_ssh_extra_args: '-v'
- ansible_ssh_pipelining#
Сокращение количества операций подключения к управляемым узлам за счет выполнения некоторых модулей без копирования файлов:
true
– включено;false
– выключено (по умолчанию).
Пример заполнения:
[webservers] web01 ansible_ssh_pipelining=true
--- webservers: hosts: web01: ansible_ssh_pipelining: true
- ansible_ssh_executable#
Путь к исполняемому файлу утилиты
ssh
, который следует использовать вместо системного.Пример заполнения:
[webservers] web01 ansible_ssh_executable=/usr/bin/ssh
--- webservers: hosts: web01: ansible_ssh_executable: /usr/bin/ssh
Повышение привилегий#
Для выполнения некоторых операций требуются повышенные привилегии. Способы их получения задаются с помощью следующих настроек:
- ansible_become#
Принудительное повышение привилегий.
Пример заполнения:
[webservers] web01 ansible_become=true
--- webservers: hosts: web01: ansible_become: true
- ansible_become_method#
Метод повышения привилегий:
sudo
– использование утилитыsudo
(по умолчанию);su
– использование утилитыsu
;doas
– аналог утилитыsudo
, используемый в некоторых системах (например, OpenBSD);dzdo
– метод, который используется в средах, где установлен Centrify DirectAuthorize.
Пример заполнения:
[webservers] web01 ansible_become_method=su
--- webservers: hosts: web01: ansible_become_method: su
- ansible_become_user#
Название учетной записи, используемой для повышения привилегий.
Пример заполнения:
[webservers] web01 ansible_become_user=root
--- webservers: hosts: web01: ansible_become_user: root
- ansible_become_password#
Пароль учетной записи, используемой для повышения привилегий.
Пример заполнения:
[webservers] web01 ansible_become_password=escalation_password
--- webservers: hosts: web01: ansible_become_password: escalation_password
- ansible_become_exe#
Путь к исполняемому файлу, используемому для повышения привилегий.
Пример заполнения:
[webservers] web01 ansible_become_exe=/usr/bin/su
--- webservers: hosts: web01: ansible_become_exe: /usr/bin/su
- ansible_become_flags#
Флаги, используемые для выбранного метода повышения привилегий.
Пример заполнения:
[webservers] web01 ansible_become_flags='-p'
--- webservers: hosts: web01: ansible_become_flags: '-p'
Параметры окружений удаленных узлов#
Для задания параметров окружений на удаленных узлах используются следующие настройки:
- ansible_shell_type#
Тип оболочки на управляемом узле:
csh
;fish
;sh
(по умолчанию).
Пример заполнения:
[webservers] web01 ansible_shell_type=csh
--- webservers: hosts: web01: ansible_shell_type: csh
- ansible_python_interpreter#
Путь к интерпретатору Python на управляемом узле.
Пример заполнения:
[webservers] web01 ansible_python_interpreter=/usr/bin/python3
--- webservers: hosts: web01: ansible_python_interpreter: /usr/bin/python3
- ansible_shell_executable#
Путь к исполняемому файлу оболочки на управляемом узле. Значение по умолчанию –
/bin/sh
.Пример заполнения:
[webservers] web01 ansible_shell_executable=/bin/csh
--- webservers: hosts: web01: ansible_shell_executable: /bin/csh