А АWednesday 25 November 2020

Поведенческие параметры в Ansible.

Всем привет.

Для описания хостов в файле реестра Ansible (Ansible.cfg) необходимо явно указывать имя хоста(или IP-адрес) и порт, к которому будет подключаться SSH-клиент Ansible. Это может быть важно если вы управляете хостами с помощью, например, системой Vagrаnt. В Ansible такие перемененные называются поведенческими параметрами (см. таблицу).


ansible_connection

Ansible поддерживает несколько транспортов - механизмов подключения к хостам. По умолчанию используется транспорт smart. Он проверяет поддержку локальным SSН-клиентом функции ControlPersist. Если SSH-клиент поддерживает ее, Ansible использует локальный SSH-клиент. Если локальный клиент не поддерживает ControlPersist, тогда транспорт smart будет использовать библиотеку SSH-клиента на Python с названием Paramiko.

ansible_shell_tyре

Ansible устанавливает SSH-соединения с удаленными машинами и затем запускает на них сценарии. По умолчанию Ansible считает, что удаленная оболочка - это оболочка Воurne Shell, доступная как /bin/sh, и создает соответствующие параметры командной строки, которые используются с оболочкой Воurne Shell. В этой переменной можно также передать значение csh, fish или powershell (при работе с Windows).

ansible_python_interpreter

Поскольку модули, входящие в состав Ansible, реализованы на Python 2, чтобы использовать их, Ansible должна знать местоположение интерпретатора Руthon на удаленной машине. Вам может потребоваться изменить эту переменную, если на удаленной машине путь к выполняемому файлу интерпретатора Python отличается от /usr/bin/рython. Например, для хостов с Аrch Linux может понадобиться присвоить этой переменной значение /usr/bin/python2, потому что путь /usr/bin/рython в Arch Linux соответствует интерпретатору Руthon 3, а модули Ansible пока не совместимы с Python 3.

ansible_*_interpreter

Если вы собираетесь использовать свой модуль, написанный не на Python, используйте этот параметр, чтобы определить путь к интерпретатору (например, /usr/bin/ruby). 

Вы можете переопределить некоторые поведенческие параметры по умолчанию в секции [defaults] файла Ansible.cfg: 

Поведенческий параметр   Параметр в файле Ansible.cfg

ansible_port                    remote_port

ansible_user                    remote_user

ansible_private_key_file private_key_file

ansible_shelt_type          ехесutable

Замечу что параметр ехесutable в файле Ansible.cfg не совсем то же самое, что поведенческий параметр Ansible_shell_type. Параметр ехесutable определяет полный путь к используемой оболочке на удаленной машине (например, /usr/lосаl/bin/fish). Ansible выбирает имя в конце этого пути (для /usr/lосal/bin/fish это будет имя fish) и использует его как значение по умолчанию для Ansible_shell_type.


No comments:

Post a Comment

А что вы думаете по этому поводу?

Версия на печать

Популярное