Spec-Zone.ru › Ansible 2.7

Руководство по установке

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

Добро пожаловать в руководство по установке Ansible!

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

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

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

Какую версию выбрать?

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

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

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

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

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

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

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

Это включает Red Hat, Debian, CentOS, macOS, любые BSD и так далее.

Примечание

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

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

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

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

На управляемых узлах вам нужен способ связи, которым обычно является ssh. По умолчанию используется sftp. Если он недоступен, вы можете переключиться на scp в ansible.cfg. Вам также нужен Python 2 (версия 2.6 или выше) или Python 3 (версия 3.5 или выше).

Примечание

  • Если на удалённых узлах включён SELinux, вам также необходимо установить libselinux-python на них перед использованием любых функций, связанных с копированием/файлами/шаблонами в Ansible. Вы можете использовать модуль yum или dnf в Ansible для установки этого пакета на удалённые системы, на которых он отсутствует.
  • По умолчанию Ansible использует интерпретатор Python, расположенный по адресу /usr/bin/python для запуска своих модулей. Однако некоторые дистрибутивы Linux могут по умолчанию установить только интерпретатор Python 3 по адресу /usr/bin/python3. На таких системах вы можете увидеть ошибку, подобную:

    "module_stdout": "/bin/sh: /usr/bin/python: No such file or directory\r\n"
    

    Вы можете либо установить переменную инвентаризации ansible_python_interpreter (см. Работа с инвентарём), чтобы указать на ваш интерпретатор, или установить интерпретатор Python 2 для использования модулями. Вам по-прежнему необходимо задать ansible_python_interpreter, если интерпретатор Python 2 не установлен в /usr/bin/python.

  • Модули «raw» (для выполнения команд быстрым и грубым способом) и скрипты Ansible даже не нуждаются в установленной Python. Таким образом, теоретически, вы можете использовать Ansible для установки совместимой версии Python с помощью модуля raw, что затем позволяет использовать всё остальное. Например, если вам нужно запустить Python 2 на базе RHEL, вы можете установить его через

    $ ansible myhost --sudo -m raw -a "yum install -y python2"
    

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

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

На Fedora:

$ sudo dnf install ansible

На RHEL и CentOS:

$ sudo yum install ansible

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

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

$ sudo subscription-manager repos --enable rhel-7-server-ansible-2.6-rpms

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

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

Вы также можете самостоятельно собрать RPM. Из корня ветки или архива (tarball) используйте команду 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 на вашей машине и установить ansible, выполните эти команды:

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo apt-add-repository --yes --update ppa:ansible/ansible
$ 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 перед emerging:

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

Примечание

Текущий Python-слот по умолчанию в Gentoo – это версия 3.4. Ansible требует Python 3.5 или выше, поэтому вам потребуется :ref:`bootstrap <managed_node_requirements> совместимую версию на машины.

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

Хотя Ansible работает с Python 2 и 3, FreeBSD имеет разные пакеты для каждой версии Python. Поэтому для установки вы можете использовать:

$ sudo pkg install py27-ansible

или:

$ sudo pkg install py36-ansible

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

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

Вы также можете выбрать определённую версию, например ansible25.

Более старые версии FreeBSD работали примерно так (замените на свой менеджер пакетов):

$ sudo pkg install ansible

Последние версии на macOS

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

Инструкции можно найти в разделе Последние версии через Pip. Если вы используете macOS версии 10.12 или более старой, вам следует обновить pip до последней версии (9.0.3 или новее), чтобы подключиться к Python Package Index безопасно.

Последние версии через 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.

Последние версии через 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

Если вы устанавливаете на macOS Mavericks, вы можете столкнуться с некоторыми ошибками компилятора. Обходной путь заключается в следующем:

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

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

Примечание

Старые версии pip по умолчанию используют http://pypi.python.org/simple, который больше не работает. Пожалуйста, убедитесь, что у вас установлена обновлённая версия pip (версия 10 или выше), перед установкой Ansible. Ссылка на установку последней версии pip находится здесь.

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

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

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

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

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

Примечание

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

Чтобы установить из исходного кода, клонируйте репозиторий Ansible git:

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

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

Используя Bash:

$ source ./hacking/env-setup

Используя Fish:

$ source ./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, которые имеют версию v2.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. Здесь же хранится система отслеживания проблем для совместного обсуждения ошибок и идей новых функций.

См. также

Введение в команды Ad-Hoc
Примеры основных команд
Работа с Playbook
Изучение языка управления конфигурацией Ansible
Как обработать зависимости пакетов, необходимые для Ansible, во время установки Ansible?
Вопросы и ответы, связанные с установкой Ansible
Список рассылки
Вопросы? Помощь? Идеи? Обратитесь к списку рассылки на Google Groups
irc.freenode.net
#ansible канал IRC чата
[1] (1, 2) Если у вас возникнут проблемы с установкой пакета «pycrypto» на macOS, то вам может потребоваться попробовать 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.7/installation_guide/intro_installation.html

Spec-Zone.ru

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