Spec-Zone.ru › Ansible 2.10

Ansible и BSD

Управление машинами BSD отличается от управления другими машинами на базе Unix. Если вы управляете узлами BSD, ознакомьтесь с этими темами.

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

Подключение к узлам BSD

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

[freebsd]
mybsdhost1 ansible_connection=paramiko

Настройка начального состояния BSD

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

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

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

Или для OpenBSD:

ansible -m raw -a "pkg_add python%3.7"

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

Примечание

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

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

Для поддержки различных операционных систем и дистрибутивов на базе Unix, 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/python3.7

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

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

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

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

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

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

Данные о BSD

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

Усилия и вклад сообщества BSD

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

См. также

Введение в команды ad-hoc

Примеры основных команд

Работа с playbooks

Изучение языка управления конфигурацией Ansible

Разработка модуля?

Как писать модули

Список рассылки

Вопросы? Помощь? Идеи? Заходите на список рассылки на Google Groups

irc.freenode.net

Канал чата IRC #ansible

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

Spec-Zone.ru

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