Поддержка 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 (см. ниже), он очень ограничен, и для полного использования возможностей Ansible требуется Python.
Настройка начальной конфигурации BSD
Как упоминалось выше, вы можете настроить начальную конфигурацию Ansible с помощью модуля raw и удаленно установить Python на целевые машины. В следующем примере устанавливается Python 2.7, который включает библиотеку json, необходимую для полной функциональности Ansible. На управляющей машине вы можете просто выполнить следующее для большинства версий FreeBSD:
ansible -m raw -a "pkg install -y python27" mybsdhost1
После этого вы можете использовать другие модули Ansible, помимо модуля raw.
Примечание
В этом примере использовался пакет pkg, используемый в FreeBSD, однако вы должны иметь возможность заменить соответствующий инструмент для пакета для вашего 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
Если вы используете дополнительные плагины, помимо тех, которые поставляются с 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; также приветствуются запросы на исправление с включенным исправлением!
См. также
- Введение в командные утилиты Ad-Hoc
- Примеры основных команд
- Планы
- Изучение языка управления конфигурацией 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.4/intro_bsd.html