Ansible установлен на linux

Installing Ansible on specific operating systems

These instructions are provided by their respective communities. Any bugs/issues should be filed with that community to update these instructions. Ansible maintains only the pip install instructions.

The ansible package can always be installed from PyPI using pip on most systems but it is also packaged and maintained by the community for a variety of Linux distributions.

The following instructions will guide you through installing the ansible package with your preferred distribution’s package manager.

For maintainers who wish to add distributions to this guide, installation instructions are included here only for distributions with a reasonably up-to-date version of ansible . The distribution MUST ensure that ansible-core and ansible versions are kept in sync to the extent that the distribution build system allows. Maintainers MUST include a way to contact them with their instructions here and are encouraged to join the Ansible Packaging Matrix room.

Installing Ansible on Fedora Linux

To install the batteries included ansible package on Fedora run

If you prefer to install the minimal ansible-core package run

$ sudo dnf install ansible-core

Several Ansible collections are also available from the Fedora repositories as standalone packages that users can install alongside ansible-core . For example, to install the community.general collection run

$ sudo dnf install ansible-collection-community-general

See the Fedora Packages index for a full list of Ansible collections packaged in Fedora.

Please file a bug against the Fedora product in Red Hat Bugzilla to reach the package maintainers.

Installing Ansible from EPEL

Users of CentOS Stream, Almalinux, Rocky Linux, and related distributions can install ansible or Ansible collections from the community maintained EPEL (Extra Packages for Enterprise Linux) repository.

After enabling the EPEL repository, users can use the same dnf commands as for Fedora Linux.

Читайте также:  Play games for linux

Please file a bug against the Fedora EPEL product in Red Hat Bugzilla to reach the package maintainers.

Installing Ansible on OpenSUSE Tumbleweed/Leap

$ sudo zypper install ansible

See OpenSUSE Support Portal for additional help with Ansible on OpenSUSE.

Installing Ansible on Ubuntu

Ubuntu builds are available in a PPA here.

To configure the PPA on your system and install Ansible run these commands:

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

On older Ubuntu distributions, “software-properties-common” is called “python-software-properties”. You may want to use apt-get rather than apt in older versions. Also, be aware that only newer distributions (that is, 18.04, 18.10, and later) have a -u or —update flag. Adjust your script as needed.

Installing Ansible on Debian

Debian users can use the same source as the Ubuntu PPA (using the following table).

Ansible releases are only built for Ubuntu 18.04 (Bionic) or later releases.

Add the following line to /etc/apt/sources.list or /etc/apt/sources.list.d/ansible.list :

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

Example for Debian 11 (Bullseye)

deb http://ppa.launchpad.net/ansible/ansible/ubuntu focal main
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367 $ sudo apt update $ sudo apt install ansible

Installing Ansible on Windows

You cannot use a Windows system for the Ansible control node. See Can Ansible run on Windows?

Distro-specific installation on Arch Linux

Distro-specific installation on Clear Linux

© Copyright Ansible project contributors. Last updated on Jul 10, 2023.

Источник

Инструкция по установке и запуску Ansible на Linux

Обновлено

Обновлено: 14.09.2022 Опубликовано: 22.07.2016

Мы рассмотрим простую устаноку Ansible на Linux. Инструкция подойдет для Ubuntu, а также CentOS версий 8 и 7.

Установка

Установка для Ubuntu и CentOS выполняется, немного, по-разному. Рассмотрим оба варианта.

Ubuntu

CentOS

По умолчанию Ansible нет в репозитории CentOS — устанавливаем EPEL:

После устанавливаем сам сервер управления:

* система автоматически обновит список пакетов с учетом нового репозитория и начнет установку Ansible. Если появится запрос на подтверждение, отвечаем Y.

Начальная настройка и тестовый запуск Ansible

Разобьем наши действия на небольшие группы.

Настройка инвентарного файла

В данном файле хранится информация о хостах и/или группах хостов. Также в нем могет храниться переменные, определенные для конкретной группы хостов или конкретного компьютера.

Читайте также:  Linux добавить файловую систему

Есть два варианта написания инвентарного файла — в формате yml или ini. Рассмотрим оба.

1. Файл формата ini.

Даннай формат используется по умолчанию. Откроем на редактирование файл с серверами, которыми хотим управлять:

и приведем его к следующему виду:

[test_servers]
192.168.1.100
192.168.1.101

* в данном примере создана группа серверов test_servers, в которую добавлены два сервера с IP-адресами 192.168.1.100 и 192.168.1.101.

2. Файл формата yml.

Создадим отдельный каталог:

test_servers:
vars:
ansible_python_interpreter: /usr/bin/python3
hosts:
server01:
ansible_ssh_host: 192.168.1.100
ansible_ssh_port: 22
server02:
ansible_ssh_host: 192.168.1.101
ansible_ssh_port: 22

* в данном примере также создана группа серверов test_servers, в которую добавлены два сервера server01 и server02 с IP-адресами 192.168.1.100 и 192.168.1.101. Адреса не обязательно писать, если имя машины разрешается с помощью DNS. Также не обязательно указывать порты, если они стандартные (22).
** обратите внимание, что мы также добавили переменную ansible_python_interpreter с указанием пути для запуска python.

Настройка ansible

Открываем конфигурационный файл ansible:

Снимаем комментарий с опции host_key_checking, приведя ее к виду:

* данная настройка позволит нашему серверу управления автоматически принимать ssh fingerprint, избавляя нас от необходимости постоянно вводить yes, когда мы впервые конфигурируем новый сервер.

Также в секцию defaults добавим:

[defaults]
.
interpreter_python = auto_silent

* данная опция указывает, чтобы ansible автоматически искал python на целевом хосте без показа предупреждений.

Тестовый запуск

Теперь выполним проверку доступности добавленных серверов:

ansible -m ping test_servers -u root -kK

* данная команда проверит доступность по сети двух серверов из группы test_servers от учетной записи root.

Если мы создали и хотим использовать инвентарный файл yml, то вводим:

ansible -i /etc/ansible/inventory/test_servers.yml -m ping test_servers -u root -kK

* мы должны указать путь до файла inventory с помощью опции -i.

Будет запрошен пароль от учетной записи (в нашем случае, root). После будет запрошен пароль суперпользователя на серверах.

На экране должно появиться, примерно, следующее:

192.168.1.100 | SUCCESS => «ansible_facts»: «discovered_interpreter_python»: «/usr/bin/python3»
>,
«changed»: false,
«ping»: «pong»
>
192.168.1.101 | SUCCESS => «ansible_facts»: «discovered_interpreter_python»: «/usr/bin/python»
>,
«changed»: false,
«ping»: «pong»
>

Наш сервер управления готов к работе.

Читайте также:  Connect to sql server linux

Подключение без пароля

В нашем примере аутентификация на узлах выполняется с помощью пароля. Это не очень удобно и безопасно. Рассмотрим вариант использования ssh ключа.

На компьютере с ansible сгенерируем пару ключей следующей командой:

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

Мы увидим что-то на подобие:

Generating public/private ed25519 key pair.
Enter file in which to save the key (/root/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_ed25519
Your public key has been saved in /root/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:FTDGR6Gz92WI33/ywMSImcqfx2IRQjrD20tE/qzqZ5Y root@ansible.dmosk.ru
The key’s randomart image is:
+—[ED25519 256]—+
| .+o+. |
| .+o.. |
| . =o.. |
| = ++.= + |
| *S+*.o = |
| ..oo+o * |
| .o+ oo + |
| E.o.o .o.|
| .o= .oo o+|
+—-[SHA256]——+

* обратите внимание, что мы сгенерировали ключи под пользователем root и из местоположение в каталоге /root/.ssh.

Теперь скопируем публичный ключ на все серверы, к которым будем подключаться:

ssh-copy-id -i /root/.ssh/id_ed25519.pub root@192.168.1.100

ssh-copy-id -i /root/.ssh/id_ed25519.pub root@192.168.1.101

* в нашем примере мы копируем наш ключ для пользователя root на удаленной системе.

Готово. Попробуем подключиться по SSH без пароля к любому из серверов:

Мы должны подключиться к серверу без запроса пароля.

Теперь можно попробовать запустить наш ансибл без ввода паролей:

ansible -m ping test_servers -u root

Или с использованием инвентарного файла yml:

ansible -i /etc/ansible/inventory/test_servers.yml -m ping test_servers -u root

Команда должна выполниться без запросов пароля.

Если не заработало

Если на экране появится ошибка, введите с сервера ansible следующую команду:

* в данном случае, мы пытаемся подключиться к серверу 192.168.1.100 по SSH от пользователя root.

Если подключиться к серверу 192.168.1.100 вышеописанной командой не удалось, возможно введен неправильный пароль или доступ по SSH от root запрещен. В этом случае, создайте служебную учетную запись на сервере 192.168.1.100 и используйте ее для подключения по SSH. Например, на удаленном сервере вводим:

* в даном примере мы создали учетную запись ansible и задали ей пароль.

Теперь вводим нашу команду для проверки:

ansible -m ping test_servers -u ansible -kK

* обратите внимание, что мы выполняем теперь запрос от пользователя ansible.

Источник

Оцените статью
Adblock
detector