Spec-Zone.ru › Ansible

Установка Ansible

Ansible — это инструмент автоматизации без агентов, который устанавливается на один хост (называемый узлом управления).

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

  • Требования к узлу управления
  • Требования к управляемому узлу
  • Резюме требований к узлам
  • Выбор пакета и версии Ansible для установки
  • Установка и обновление Ansible с помощью pipx

    • Установка Ansible
    • Обновление Ansible
    • Установка дополнительных зависимостей Python
  • Установка и обновление Ansible с помощью pip

    • Нахождение Python
    • Обеспечение доступности pip
    • Установка Ansible
    • Обновление Ansible
  • Установка Ansible в контейнеры
  • Установка для разработки

    • Установка devel с GitHub с помощью pip
    • Запуск ветви devel из клона
  • Подтверждение установки
  • Добавление завершения команд Ansible в оболочке

    • Установка argcomplete
    • Настройка argcomplete

      • Глобальная настройка
      • Настройка для каждой команды
      • Использование argcomplete с zsh или tcsh

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

Для узла управления (машины, на которой выполняется Ansible) можно использовать практически любую машину на основе UNIX с установленным Python. Это включает Red Hat, Debian, Ubuntu, macOS, BSD и Windows в рамках распределения Windows Subsystem for Linux (WSL). Windows без WSL не поддерживается в качестве узла управления; см. статью в блоге Мэтта Дэвиса для получения дополнительной информации.

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

На управляемом узле (машине, которой управляет Ansible) не требуется устанавливать Ansible, но необходимо установить Python для выполнения сгенерированного Ansible кода Python. Управляемый узел также нуждается в учётной записи пользователя, которая может подключаться по SSH к узлу с интерактивной оболочкой POSIX.

Примечание

Могут быть исключения в требованиях модулей. Например, сетевые модули не требуют Python на управляемом устройстве. См. документацию по используемым модулям.

Резюме требований к узлам

Подробные сведения о требованиях к узлам управления и управляемым узлам, включая версии Python, для каждой версии Ansible можно найти в разделах поддержка Python для узла управления ansible-core и матрица поддержки ansible-core.

Выбор пакета и версии Ansible для установки

Пакеты Ansible сообщества распространяются двумя способами:

  • Минимальный пакет языка и среды выполнения, содержащий набор Ansible.Builtin.
  • Гораздо больший пакет «включающий всё необходимое», который добавляет коллекцию, отобранную сообществом, из коллекций Ansible для автоматизации широкого спектра устройств.

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

Пакеты ansible или ansible-core могут быть доступны в менеджере пакетов вашей операционной системы, и вы можете установить эти пакеты с помощью предпочитаемого метода. Дополнительные сведения см. в руководстве Установка Ansible на определённые операционные системы. Данные инструкции по установке охватывают только официально поддерживаемые способы установки пакетов python с помощью pip.

См. таблицу состояния выпуска пакета Ansible для версии ansible-core включённой в пакет.

Установка и обновление Ansible с помощью pipx

В некоторых системах установка Ansible с помощью pip может быть невозможна из-за решений, принятых разработчиками операционной системы. В таких случаях pipx является широко доступной альтернативой.

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

Установка Ansible

Используйте pipx в вашей среде для установки полного пакета Ansible:

$ pipx install --include-deps ansible

Вы можете установить минимальный пакет

$ pipx install ansible-core
:

$ pipx install ansible-core

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

$ pipx upgrade --include-injected ansible
:

$ pipx install ansible-core==2.12.3

Обновление Ansible

Чтобы обновить существующую установку Ansible до последней выпущенной версии:

$ pipx upgrade --include-injected ansible

Установка дополнительных зависимостей Python

Чтобы установить дополнительные зависимости Python, например, установку пакета python argcomplete, как описано ниже:

$ pipx inject ansible argcomplete

Включите опцию --include-apps, чтобы приложения в дополнительных зависимостях Python были доступны в вашей PATH. Это позволит вам выполнять команды этих приложений из командной строки.

$ pipx inject --include-apps ansible argcomplete

Установка и обновление Ansible с помощью pip

Нахождение Python

Найдите и запомните путь к интерпретатору Python, который вы хотите использовать для запуска Ansible. В следующих инструкциях этот Python называется python3. Например, если вы определили, что хотите использовать Python по адресу /usr/bin/python3.9, укажите его вместо python3.

Обеспечение доступности pip

Чтобы проверить, установлен ли pip для вашего выбранного Python:

$ python3 -m pip -V

Если всё в порядке, вы увидите что-то вроде следующего:

$ python3 -m pip -V
pip 21.0.1 from /usr/lib/python3.9/site-packages/pip (python 3.9)

В таком случае pip доступен, и вы можете перейти к следующему шагу.

Если вы видите ошибку, такую как No module named pip, вам необходимо установить pip в выбранном интерпретаторе Python, прежде чем продолжить. Это может означать установку дополнительного пакета ОС (например, python3-pip) или установку последней версии pip напрямую с Python Packaging Authority, выполнив следующее:

$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python3 get-pip.py --user

Возможно, потребуется выполнить дополнительную настройку, прежде чем вы сможете запустить Ansible. См. документацию Python по установке в пользовательский каталог для получения дополнительной информации.

Установка Ansible

Используйте pip в вашей выбранной среде Python для установки полного пакета Ansible для текущего пользователя:

$ python3 -m pip install --user ansible

Вы можете установить минимальный пакет ansible-core для текущего пользователя:

$ python3 -m pip install --user ansible-core

В качестве альтернативы, вы можете установить определённую версию ansible-core:

$ python3 -m pip install --user ansible-core==2.12.3

Обновление Ansible

Чтобы обновить существующую установку Ansible в этой среде Python до последней выпущенной версии, просто добавьте `--upgrade` к команде выше:

$ python3 -m pip install --upgrade --user ansible

Установка Ansible в контейнеры

Вместо ручной установки контента Ansible, вы можете просто создать образ контейнера среды выполнения или использовать один из доступных сообщественных образов в качестве узла управления. Подробности см. в Руководстве по началу работы с средами выполнения.

Установка для разработки

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

Примечание

Вы должны устанавливать и запускать только ветку devel если вы изменяете ansible-core или тестируете разрабатываемые функции. Это быстро меняющийся исходный код и может стать нестабильным в любой момент.

Дополнительную информацию о участии в проекте Ansible см. в Руководстве сообщества Ansible.

Дополнительную информацию о создании модулей и коллекций Ansible см. в Руководстве разработчика.

Установка devel с GitHub с помощью pip

Вы можете установить ветку devel ansible-core напрямую с GitHub с помощью pip:

$ python3 -m pip install --user https://github.com/ansible/ansible/archive/devel.tar.gz

Вы можете заменить devel в указанном выше URL любой другой веткой или тегом на GitHub для установки более старых версий Ansible, тегированных как альфа или бета, и кандидатов в релиз.

Запуск ветки devel из копии

Запуск ansible-core из исходного кода очень прост. Вам не нужны root разрешения для его использования, и нет программного обеспечения, которое нужно устанавливать. Не требуются демоны или настройка базы данных.

  1. Скопировать репозиторий ansible-core

    $ git clone https://github.com/ansible/ansible.git
    $ cd ./ansible
    
  2. Настройка среды Ansible

    • Используя Bash

      $ source ./hacking/env-setup
      
    • Используя Fish

      $ source ./hacking/env-setup.fish
      
    • Для подавления ложных предупреждений/ошибок, используйте -q

      $ source ./hacking/env-setup -q
      
  3. Установить зависимости Python

    $ python3 -m pip install --user -r ./requirements.txt
    
  4. Обновить ветку devel ansible-core на вашей локальной машине

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

    $ git pull --rebase
    

Подтверждение вашей установки

Вы можете проверить, что Ansible установлен правильно, проверив версию:

$ ansible --version

Версия, отображаемая этой командой, относится к соответствующему пакету ansible-core, который был установлен.

Чтобы проверить версию пакета ansible, который был установлен:

$ ansible-community --version

Добавление завершения командной строки Ansible

Вы можете добавить завершение командной строки для утилит Ansible, установив необязательную зависимость, называемую argcomplete. Она поддерживает bash и имеет ограниченную поддержку zsh и tcsh.

Дополнительную информацию об установке и настройке см. в документации argcomplete.

Установка argcomplete

Если вы выбрали инструкции по установке pipx:

$ pipx inject --include-apps ansible argcomplete

Если вы выбрали инструкции по установке pip:

$ python3 -m pip install --user argcomplete

Настройка argcomplete

Есть 2 способа настроить argcomplete для разрешения завершения командной строки утилит Ansible: глобально или по команде.

Глобальная настройка

Глобальное завершение требует bash 4.2.

$ activate-global-python-argcomplete --user

Это создаст файл завершения bash в пользовательском месте. Используйте --dest для изменения расположения или sudo для глобальной настройки завершения.

Настройка по команде

Если у вас нет bash 4.2, вы должны зарегистрировать каждый скрипт независимо.

$ eval $(register-python-argcomplete ansible)
$ eval $(register-python-argcomplete ansible-config)
$ eval $(register-python-argcomplete ansible-console)
$ eval $(register-python-argcomplete ansible-doc)
$ eval $(register-python-argcomplete ansible-galaxy)
$ eval $(register-python-argcomplete ansible-inventory)
$ eval $(register-python-argcomplete ansible-playbook)
$ eval $(register-python-argcomplete ansible-pull)
$ eval $(register-python-argcomplete ansible-vault)

Вы должны поместить указанные выше команды в файл профиля вашей оболочки, такой как ~/.profile или ~/.bash_profile

Использование argcomplete с zsh или tcsh

См. документацию argcomplete.

См. также

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

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

Работа с playbook

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

Как обработать зависимости пакетов, необходимые пакетом Ansible, во время установки Ansible?

Вопросы и ответы, связанные с установкой Ansible

Форум

Присоединяйтесь к форуму сообщества Ansible, чтобы получить помощь и поделиться знаниями

Чат в реальном времени

Как присоединиться к каналам чата Ansible

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html

Spec-Zone.ru

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