Spec-Zone.ru › Ansible 2.4

Установка

  • Основы / Что будет установлено
  • Какой версии выбрать?
  • Требования к управляющему узлу
  • Требования к управляемым узлам
  • Установка управляющего узла
    • Последняя версия через DNF или Yum
    • Последние версии через Apt (Ubuntu)
    • Последние версии через Apt (Debian)
    • Последние версии через Portage (Gentoo)
    • Последние версии через pkg (FreeBSD)
    • Последние версии на Mac OSX
    • Последние версии через OpenCSW (Solaris)
    • Последние версии через Pacman (Arch Linux)
    • Последние версии через Pip
    • Tar-архивы помеченных релизов
    • Запуск из исходного кода
  • Ansible на GitHub

Основы / Что будет установлено

Ansible по умолчанию управляет машинами через протокол SSH.

После установки Ansible, он не будет добавлять базу данных и не будет запускать или поддерживать работу демонов. Его необходимо установить только на одной машине (например, ноутбуке), и он может управлять целым флотом удалённых машин из этой центральной точки. Когда Ansible управляет удалёнными машинами, он не оставляет на них установленного или работающего программного обеспечения, поэтому нет проблем с обновлением Ansible при переходе на новую версию.

Какой версии выбрать?

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

Циклы выпуска Ansible обычно длятся около четырёх месяцев. Из-за этого короткого цикла выпуска мелкие ошибки обычно исправляются в следующем релизе, а не поддерживаются бэкинг-портами на стабильной ветке. Серьезные ошибки по-прежнему будут иметь поддерживающие выпуски по мере необходимости, хотя они встречаются редко.

Если вы хотите запустить последнюю выпущенную версию Ansible и используете Red Hat Enterprise Linux (TM), CentOS, Fedora, Debian или Ubuntu, мы рекомендуем использовать менеджер пакетов вашей ОС.

Для других вариантов установки мы рекомендуем установить его через «pip», который является менеджером пакетов Python, хотя доступны и другие варианты.

Если вы хотите отслеживать релиз разработки для использования и тестирования последних функций, мы предоставим информацию о запуске из исходного кода. Для запуска из исходного кода не обязательно устанавливать программу.

Требования к управляющему узлу

В настоящее время Ansible может работать с любой машиной, на которой установлены Python 2 (версии 2.6 или 2.7) или Python 3 (версии 3.5 и выше) (Windows не поддерживается для управляющего узла).

Примечание

Ansible 2.2 вводит технический предварительный просмотр поддержки Python 3 (версии 3.5 и выше). Более подробную информацию см. на странице Поддержка Python 3.

Это включает Red Hat, Debian, CentOS, OS X, любой из BSD и так далее.

Примечание

Начиная с версии 2.0, Ansible использует несколько больше файловых дескрипторов для управления своими потоками. Mac OS X по умолчанию настроен на небольшое количество файловых дескрипторов, поэтому если вы хотите использовать 15 или более потоков, вам необходимо увеличить ulimit с помощью sudo launchctl limit maxfiles unlimited. Эта команда также может исправить любую ошибку «Слишком много открытых файлов».

Предупреждение

Обратите внимание, что некоторые модули и плагины имеют дополнительные требования. Для модулей эти требования должны быть выполнены на целевой машине и должны быть перечислены в документации по конкретному модулю.

Требования к управляемым узлам

На управляемых узлах вам нужен способ связи, обычно это ssh. По умолчанию используется sftp. Если это недоступно, вы можете переключиться на scp в ansible.cfg. Также нужен Python 2.6 или более поздней версии.

Примечание

Модуль «raw» Ansible (для выполнения команд быстрым и грязным способом) и модуль script даже не нуждаются в этом. Таким образом, вы технически можете использовать Ansible для установки python-simplejson с помощью модуля raw, который затем позволит вам использовать все остальное. (Однако это опережает события.)

Примечание

Если на удалённых узлах включён SELinux, вам также потребуется установить libselinux-python на них перед использованием любых функций, связанных с копированием/файлами/шаблонами в Ansible. Вы, конечно же, можете использовать модуль yum в Ansible для установки этого пакета на удалённые системы, на которых его нет.

Примечание

Ansible 2.2 вводит технический предварительный просмотр поддержки Python 3. Более подробную информацию см. на странице Поддержка Python 3.

По умолчанию Ansible использует Python 2 для сохранения совместимости со старыми дистрибутивами, такими как RHEL 6. Однако в некоторых дистрибутивах Linux (Gentoo, Arch) интерпретатор Python 2.X может быть не установлен по умолчанию. На таких системах его нужно установить и установить переменную ansible_python_interpreter в инвентаре (см. Инвентарь) для указания пути к вашему Python 2.X. В дистрибутивах, таких как Red Hat Enterprise Linux, CentOS, Fedora и Ubuntu, интерпретатор 2.X установлен по умолчанию, и это не относится к этим дистрибутивам. Это также справедливо для почти всех Unix-систем.

Если вам нужно запустить эти удалённые системы с установленным Python 2.X, с помощью модуля «raw» вы сможете сделать это удалённо. Например, ansible myhost --sudo -m raw -a "yum install -y python2 python-simplejson" установит Python 2.X и модуль simplejson, необходимый для работы ansible и его модулей.

Установка управляющего узла

Последняя версия через DNF или Yum

В Fedora:

$ sudo dnf install ansible

В RHEL и CentOS:

$ sudo yum install ansible

RPM-пакеты для RHEL 7 доступны в репозитории репозитории Ansible Engine.

Для включения репозитория Ansible Engine выполните следующую команду:

$ sudo subsription-manager repos --enable rhel-7-server-ansible-2.4-rpms

RPM-пакеты для поддерживаемых версий RHEL, CentOS и Fedora также доступны из EPEL, а также releases.ansible.com.

Ansible версии 2.4 и выше может управлять более ранними операционными системами, содержащими Python 2.6 или выше.

Вы также можете самостоятельно создать RPM-пакет. Из корневой директории репозитория или tar-архива, используйте команду make rpm для создания RPM-пакета, который можно распространять и устанавливать.

$ git clone https://github.com/ansible/ansible.git
$ cd ./ansible
$ make rpm
$ sudo rpm -Uvh ./rpm-build/ansible-*.noarch.rpm

Последние версии через Apt (Ubuntu)

Ubuntu-сборки доступны по ссылке на PPA.

Для настройки PPA на вашей машине и установки ansible выполните эти команды:

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt-get update
$ sudo apt-get install ansible

Примечание

В более старых дистрибутивах Ubuntu «software-properties-common» называется «python-software-properties».

Debian/Ubuntu-пакеты также могут быть созданы из исходного кода, выполните:

$ make deb

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

Последние версии через Apt (Debian)

Пользователи Debian могут использовать тот же репозиторий, что и PPA Ubuntu.

Добавьте следующую строку в /etc/apt/sources.list:

deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main

Затем выполните эти команды:

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
$ sudo apt-get update
$ sudo apt-get install ansible

Примечание

Этот метод был проверен с источниками Trusty в Debian Jessie и Stretch, но может не поддерживаться в более ранних версиях.

Последние версии через Portage (Gentoo)

$ emerge -av app-admin/ansible

Для установки последней версии вам может потребоваться разблокировать пакет ansible перед его установкой:

$ echo 'app-admin/ansible' >> /etc/portage/package.accept_keywords

Примечание

Если у вас Python 3 установлен по умолчанию на ваших узлах Gentoo (по умолчанию), вам нужно установить ansible_python_interpreter = /usr/bin/python2 в переменных вашей группы или инвентаря.

Последние версии через pkg (FreeBSD)

$ sudo pkg install ansible

Вы также можете установить программу из портов, выполните:

$ sudo make -C /usr/ports/sysutils/ansible install

Последние версии на Mac OSX

Предпочтительный способ установки ansible на Mac – через pip.

Инструкции можно найти в разделе Последние версии через Pip.

Последние версии через OpenCSW (Solaris)

Ansible доступен для Solaris как SysV-пакет из OpenCSW.

# pkgadd -d http://get.opencsw.org/now
# /opt/csw/bin/pkgutil -i ansible

Последние версии через Pacman (Arch Linux)

Ansible доступен в репозитории Community:

$ pacman -S ansible

В AUR есть PKGBUILD для прямого извлечения из Github, называемый ansible-git.

Также см. страницу Ansible на ArchWiki.

Примечание

Если у вас Python 3 установлен по умолчанию на ваших узлах Arch (по умолчанию), вам нужно установить ansible_python_interpreter = /usr/bin/python2 в переменных вашей группы или инвентаря.

Последние версии через Pip

Ansible можно установить через «pip», менеджер пакетов Python. Если ‘pip’ ещё не доступен в вашей версии Python, вы можете получить pip следующим образом:

$ sudo easy_install pip

Затем установите Ansible с помощью [1]:

$ sudo pip install ansible

Или, если вам нужна последняя версия разработки:

pip install git+https://github.com/ansible/ansible.git@devel

Если вы устанавливаете на OS X Mavericks, у вас могут возникнуть некоторые проблемы с компилятором. Решение проблемы заключается в следующем:

$ sudo CFLAGS=-Qunused-arguments CPPFLAGS=-Qunused-arguments pip install ansible

Пользователи, использующие virtualenv, также могут установить Ansible в virtualenv, хотя мы рекомендуем не беспокоиться об этом и просто установить Ansible глобально. Не используйте easy_install для непосредственной установки Ansible.

Архивы помеченных релизов

Если вам необходимо упаковать Ansible или создать собственный локальный пакет, но вы не хотите выполнять git checkout, доступны архивы релизов на странице загрузки Ansible.

Эти релизы также помечены в репозитории git с версией релиза.

Запуск из исходного кода

Ansible легко запустить из ветки - права root не требуются для его использования, и нет программного обеспечения для фактической установки. Не требуется настройка демонов или базы данных. Из-за этого многие пользователи в нашем сообществе постоянно используют версию разработки Ansible, чтобы воспользоваться новыми функциями при их внедрении и легко внести свой вклад в проект. Поскольку ничего не нужно устанавливать, отслеживание версии разработки значительно проще, чем в большинстве проектов с открытым исходным кодом.

Примечание

Если вы планируете использовать Tower в качестве управляющей машины, не используйте установку из исходного кода. Пожалуйста, используйте менеджер пакетов ОС (например, apt/yum) или pip для установки стабильной версии.

Для установки из исходного кода клонируйте репозиторий Ansible git:

$ git clone https://github.com/ansible/ansible.git --recursive
$ cd ./ansible

После клонирования репозитория Ansible git, настройте среду Ansible:

Использование Bash:

$ source ./hacking/env-setup

Использование Fish:

$ . ./hacking/env-setup.fish

Если вы хотите подавить ложные предупреждения/ошибки, используйте:

$ source ./hacking/env-setup -q

Если у вас нет pip в вашей версии Python, установите pip:

$ sudo easy_install pip

Ansible также использует следующие модули Python, которые необходимо установить [1]:

$ sudo pip install -r ./requirements.txt

Для обновления проверок Ansible используйте pull-with-rebase, чтобы любые локальные изменения были повторно применены.

$ git pull --rebase

Примечание: при обновлении проверок Ansible версии 2.2 и более ранних версий не забудьте обновить не только исходное дерево, но и «подмодули» в git, которые указывают на собственные модули Ansible.

$ git pull --rebase #same as above
$ git submodule update --init --recursive

После запуска скрипта env-setup вы будете работать из ветки, а файл инвентаризации по умолчанию будет /etc/ansible/hosts. Вы можете указать файл инвентаризации (см. Инвентаризация) вместо /etc/ansible/hosts:

$ echo "127.0.0.1" > ~/ansible_hosts
$ export ANSIBLE_INVENTORY=~/ansible_hosts

Примечание

ANSIBLE_INVENTORY доступен начиная с версии 1.9 и заменяет устаревший ANSIBLE_HOSTS

Дополнительные сведения о файле инвентаризации можно найти в последующих разделах руководства.

Теперь давайте протестируем команды с помощью команды ping:

$ ansible all -m ping --ask-pass

Вы также можете использовать «sudo make install».

Ansible на GitHub

Вы также можете следить за проектом GitHub, если у вас есть аккаунт GitHub. Здесь также находится система отслеживания проблем для обмена ошибками и идеями для новых функций.

См. также

Введение в ад-хок команды
Примеры основных команд
Сценарии
Изучение языка управления конфигурацией Ansible
Список рассылки
Вопросы? Помощь? Идеи? Обратитесь к списку рассылки на Google Groups
irc.freenode.net
IRC-чат-канал #ansible
[1] (1, 2) Если у вас возникают проблемы с установкой пакета «pycrypto» в Mac OSX, попробуйте CC=clang sudo -E pip install pycrypto.

© 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_installation.html

Spec-Zone.ru

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