Переменные поведения#

Переменные поведения можно разделить на следующие типы:

  • тип подключения;

  • общие для всех подключений;

  • настройки протокола 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