Spec-Zone.ru › Ansible 2.6

Поддержка 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 2.4 на агентах требует дополнительного пакета/библиотеки py-simplejson, однако эта библиотека уже включена в Python 2.5 и выше. Работа без 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; также приветствуются запросы на исправление с включённым исправлением!

См. также

Введение в команды 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.6/user_guide/intro_bsd.html

Spec-Zone.ru

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