Spec-Zone.ru › Ansible 2.8

Поддержка 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-варианты (см. ниже), он очень ограничен, и использование Python необходимо для полноценного использования функций Ansible.

Настройка начального состояния 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 или следование инструкциям по установке из исходного кода.

Факты о BSD

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

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

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

См. также

Введение в командные строки ad-hoc
Примеры основных команд
Работа с 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.8/user_guide/intro_bsd.html

Spec-Zone.ru

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