Ansible: различия между версиями
Нет описания правки |
|||
Строка 37: | Строка 37: | ||
4. Проверим доступ по ключу ''с сервера'': | 4. Проверим доступ по ключу ''с сервера'': | ||
ssh root@10.10.3.77 | ssh root@10.10.3.77 | ||
= Проверка доступности = | |||
Используем модуль «ping»: | |||
<source lang="json" highlight="1"># ansible -m ping local | |||
10.10.3.77 | SUCCESS => { | |||
"changed": false, | |||
"failed": false, | |||
"ping": "pong" | |||
}</source> | |||
[[Категория:Управление конфигурациями]] | [[Категория:Управление конфигурациями]] |
Версия от 12:22, 19 апреля 2018
Об Ansible
Ansible — система управления конфигурациями, написанная на Python, с использованием декларативного языка разметки для описания конфигураций. Используется для автоматизации настройки и развертывания программного обеспечения. Обычно используется для управления Linux-узлами, но Windows также поддерживается. Поддерживает работу с сетевыми устройствами, на которых установлен Python версии 2.4 и выше по SSH или WinRM соединению.
- Веб-сайт: https://www.ansible.com
- Пакет в Sisyphus: https://packages.altlinux.org/ru/Sisyphus/srpms/ansible
- Связанные пакеты: alterator-mass-management
Подготовка сервера
1. Устанавливаем ansible:
apt-get install ansible
2. Прописываем управляемые компьютеры в группу (local). В файл /etc/ansible/hosts требуется добавить:
[local] 10.10.3.77
3. Так как управление будет осуществляться через ssh по ключам, создаём ключ SSH:
ssh-keygen -t ed25519 -f ~/.ssh/manager
Пароль ключа можно оставить пустым.
4. Добавить ключ на сервере:
eval `ssh-agent` ssh-add ~/.ssh/manager
Подготовка клиента
1. Устанавливаем необходимые модули:
apt-get install python-module-yaml python-module-jinja2
2. Включаем и запускаем службу sshd:
chkconfig sshd on service sshd start
3. Размещаем публичную часть созданного на сервере ключа пользователю root (в модуле Администратор или вручную добавить содержимое файла manager.pub в /etc/openssh/authorized_keys/root.
4. Проверим доступ по ключу с сервера:
ssh root@10.10.3.77
Проверка доступности
Используем модуль «ping»:
# ansible -m ping local
10.10.3.77 | SUCCESS => {
"changed": false,
"failed": false,
"ping": "pong"
}