Spec-Zone.ru › Ansible 2.7

Поддержка BSD

  • Работа с BSD
  • Настройка начальной конфигурации BSD
  • Установка интерпретатора Python
  • Какие модули доступны?
  • Использование BSD в качестве управляющей машины
  • Сведения о BSD
  • Усилия и вклад в поддержку BSD

Работа с BSD

Ansible по умолчанию управляет машинами Linux/Unix с помощью SSH. Машины BSD не являются исключением, однако этот документ описывает некоторые различия, которые могут возникнуть при работе с Ansible при использовании вариантов BSD.

Обычно Ansible пытается использовать OpenSSH в качестве метода подключения по умолчанию. Это подходит при использовании SSH-ключей для аутентификации, но при использовании SSH-паролей Ansible полагается на sshpass. Большинство версий sshpass не очень хорошо справляются с запросами входа на машинах BSD, поэтому при использовании SSH-паролей на машинах BSD рекомендуется изменить метод передачи на paramiko. Это можно сделать глобально в ansible.cfg или установить как переменную инвентаризации/группы/хоста. Например:

[freebsd]
mybsdhost1 ansible_connection=paramiko

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

Работа без Python возможна с помощью модуля raw. Хотя этот модуль можно использовать для настройки начальной конфигурации Ansible и установки Python на вариантах BSD (см. ниже), он очень ограничен, и для полного использования возможностей Ansible требуется Python.

Настройка начальной конфигурации BSD

Как упоминалось выше, вы можете настроить начальную конфигурацию Ansible с помощью модуля raw и удаленно установить Python на целевые машины. В следующем примере устанавливается Python 2.7, который включает библиотеку json, необходимую для полной функциональности Ansible. На вашей управляющей машине вы можете выполнить следующее для большинства версий FreeBSD:

ansible -m raw -a "pkg install -y python27" mybsdhost1

Или для большинства версий OpenBSD:

ansible -m raw -a "pkg_add -z python-2.7"

После этого вы можете использовать другие модули Ansible помимо модуля raw.

Примечание

В этом примере показано использование pkg для FreeBSD и pkg_add для OpenBSD, однако вы должны иметь возможность заменить соответствующий инструмент пакетов для вашего BSD; имя пакета также может отличаться. Обратитесь к списку пакетов или документации используемого вами варианта BSD, чтобы узнать точное имя пакета Python, который вы хотите установить.

Установка интерпретатора Python

Для поддержки различных операционных систем и дистрибутивов Unix/Linux Ansible не всегда может полагаться на существующую среду или переменные env для определения правильного двоичного файла Python. По умолчанию модули указывают на /usr/bin/python, поскольку это наиболее распространенное расположение. На вариантах BSD этот путь может отличаться, поэтому рекомендуется указать Ansible расположение двоичного файла через переменную инвентаризации ansible_python_interpreter. Например:

[freebsd:vars]
ansible_python_interpreter=/usr/local/bin/python2.7
[openbsd:vars]
ansible_python_interpreter=/usr/local/bin/python2.7

Если вы используете дополнительные плагины помимо тех, которые поставляются с Ansible, вы можете установить аналогичные переменные для bash, perl или ruby, в зависимости от того, как написан плагин. Например:

[freebsd:vars]
ansible_python_interpreter=/usr/local/bin/python
ansible_perl_interpreter=/usr/bin/perl5

Какие модули доступны?

Большинство основных модулей Ansible написаны для комбинации машин Linux/Unix и других общих служб, поэтому большинство из них должны хорошо работать на BSD, за исключением очевидных случаев, когда они предназначены для технологий, специфичных для Linux (например, LVG).

Использование BSD в качестве управляющей машины

Использование BSD в качестве управляющей машины так же просто, как установка пакета Ansible для вашего варианта BSD или следование инструкциям pip или «из исходного кода».

Сведения о BSD

Ansible собирает сведения о BSD аналогично машинам Linux, но поскольку данные, имена и структуры могут различаться для сети, дисков и других устройств, следует ожидать, что вывод будет немного отличаться, но при этом останется понятным для администратора BSD.

Усилия и вклад в поддержку BSD

Поддержка BSD важна для нас в Ansible. Хотя большинство наших авторов используют и нацелены на Linux, у нас есть активное сообщество BSD, и мы стремимся быть максимально дружелюбными к BSD. Не стесняйтесь сообщать о любых проблемах или несовместимостях, которые вы обнаружите с BSD; приветствуются pull-запросы с включенным исправлением!

См. также

Введение в ад-хок команды
Примеры основных команд
Работа с playbook
Изучение языка управления конфигурацией Ansible
Разработка модуля?
Как писать модули
Список рассылки
Вопросы? Помощь? Идеи? Загляните на список в Google Groups
irc.freenode.net
#ansible IRC чат-канал

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/user_guide/intro_bsd.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API