Установка Ansible Подключение клиентских хостов Проверка подключения клиентских хостов Создание плейбука и его выполнение Выполнение одиночной команды Обновление Ansible до версии 6.4.0
Окружение
Ansible — система управления конфигурациями, написанная на Python, с использованием декларативного языка разметки для описания конфигураций. Используется для автоматизации настройки и развертывания программного обеспечения. Обычно используется для управления Linux-узлами, но Windows также поддерживается. Поддерживает работу с сетевыми устройствами, на которых установлен Python версии 2.4 и выше по SSH или WinRM соединению.
Для установки Ansible открываем терминал в режим суперпользователя командой:
su -
и выполните команду:
dnf install ansible
1) В файле /etc/ansible/hosts прописать все хосты, на которые будет распространяться конфигурация. Хосты можно разделить по группам, а так же, если у вас есть домен, то автоматически экспортировать список из домена. Можно прописывать как ip адреса так и имена хостов, если они резолвятся DNS ом в сети. Для теста пропишем 2 хоста.
[test] 10.10.1.111 10.10.1.74
2) Подключение к хостам осуществляется по протоколу ssh с помощью rsa ключей. Сгенерировать серверный ключ можно командой ниже. При её выполнении везде нажмите Enter.
ssh-keygen -C "$(whoami)@$(hostname)-$(date -I)"
3) Далее нужно распространить ключ на все подключенные хосты. Распространить ключи на хосты можно командой:
ssh-copy-id root@server
где:
root - это пользователь, от имени которого будут выполняться плейбуки;
server - IP-адрес хоста.
Пример: root@10.10.1.74 .
root@10.10.1.74
Пингуем удаленные хосты с помощью Ansible:
ansible test -m ping test-1 | success >> { "changed": false, U "ping": "pong" } test-2 | success >> { "changed": false, "ping": "pong" }
Где test - это группа хостов, указанная в файле hosts. В результате под каждым хостом должно быть написано "ping": "pong".
"ping": "pong"
Плейбуки являются сценариями, выполняемыми на удаленных хостах. Создаем каталог, для хранения наших playbooks, которые пишутся на языке YAML:
mkdir /etc/ansible/playbooks
Для примера создадим плейбук, устанавливающий программы. В каталоге /etc/ansible/playbooks создаем файл install_programm.yml:
touch /etc/ansible/playbooks/install_programm.yml
Содержимое файла следующее:
--- - hosts: all tasks: - name: Install program dnf: name: "{{ packages }}" vars: packages: - unrar - p7zip
В данном примере для установки используется модуль dnf. Применяется массив packages для установки. В него вписываются необходимые для установки программы.
Если хотите, можно проверить, на каких хостах будет происходить работа, командой:
ansible-playbook /etc/ansible/playbooks/install_programm.yml --list-host
Запустить только что созданный набор инструкций можно следующей командой:
ansible-playbook /etc/ansible/playbooks/install_programm.yml
С помощью Ansible возможно сразу на всех клиентах выполнить команду bash без создания плейбуков. Просмотрим информацию об использовании оперативной памяти на удаленных хостах:
ansible test -a "free -h" test-1 | success | rc=0 >> total used free shared buffers cached Mem: 7.6G 6.4G 1.2G 471M 64M 1.2G -/+ buffers/cache: 5.2G 2.4G Swap: 4.0G 616M 3.4G test-2 | success | rc=0 >> total used free shared buffers cached Mem: 3.9G 3.3G 573M 333M 4.8M 442M -/+ buffers/cache: 2.9G 1.0G Swap: 4.0G 1.7G 2.3G
Пакеты Ansible версии 6.Х располагаются в подключаемом репозитории, поэтому порядок обновления несколько отличается от обычного.
Установка и обновление пакетов Ansible до версии 6.Х на РЕД ОС 7.3 производится с помощью следующих команд (потребуются права пользователя root):
dnf install ansible6-release # подключение репозитория dnf clean all # очистка метаданных dnf makecache # загрузка метаданных из всех репозиториев dnf install ansible # установка новой версии ansible 6.4
Дата последнего изменения: 20.05.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Нажимая «Отправить запрос», вы соглашаетесь с условиями обработки персональных данных.
Вы будете получать только актуальную информацию по обновлению безопасности
Подписываясь на уведомления, вы соглашаетесь с условиями обработки персональных данных.
На ваш почтовый адрес отправлено письмо с подтверждением подписки.