|
|||||||
Ansible: установка и первоначальная настройка
Время создания: 27.11.2019 08:59
Автор: setevoy
Текстовые метки: linux, ansible, оркестрация, настройка
Раздел: Компьютер - Linux - Оркестрация - Ansible
Запись: xintrea/mytetra_syncro/master/base/1574834382dtw7gbn2f0/text.html на raw.github.com
|
|||||||
|
|||||||
Ansible — система управления конфигурациями, написанная на Python, которая позволяет выполнять управление и настройку удалённых серверов с одного хоста. Ближайшая аналогия — Puppet . Для установки Ansible из репозитория — потребуется добавить репозиторий Epel . Находим пакет Ansible: # yum search ansible ... ansible-lint.noarch : Best practices checker for Ansible ansible-inventory-grapher.noarch : Creates graphs representing ansible inventory ansible.noarch : SSH-based configuration management, deployment, and task execution system # yum install ansible ... Installed: ansible.noarch 0:1.8.4-1.el6 Complete! Можно установить используя PIP : # pip install ansible Настройки удалённых хостов хранятся в файле /etc/ansible/hosts. Бекапим его: # mv /etc/ansible/hosts /etc/ansible/hosts.default Создаём заново, и добавляем сервер cent1, который будет находится в группе test box, и группу local — для машины, на которой работает сам Ansible, с именем cent1: [test box] cent2 [local] cent1 Оба хоста добавлены в /etc/hosts: # grep -E "cent1|cent2" /etc/hosts 10.***.***.250 cent2 127.0.0.1 cent1 Работа Ansible с удалёнными серверами по умолчанию предполагает, что у вас имеется настроенное SSH-подключение с авторизацией по RSA-ключам. На сервере с Ansible переключаемся на пользователя, под которым будем выполнять подключение: # su -l setevoy Создаём RSA-ключ: $ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/setevoy/.ssh/id_rsa): Created directory '/home/setevoy/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/setevoy/.ssh/id_rsa. Your public key has been saved in /home/setevoy/.ssh/id_rsa.pub. На удалённом сервере — включаем авторизацию по ключам. В файле /etc/ssh/sshd_config убираем комментарии перед строками RSAAuthentication yes, PubkeyAuthentication yes и AuthorizedKeysFile .ssh/authorized_keys. Перезапускаем SSH-сервер: # service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ] На сервере c Ansible — копируем id_pub.pub на сервер cent2 с помощью ssh-copy-id: $ ssh-copy-id -i ~/.ssh/id_rsa.pub setevoy@cent2 setevoy@cent2's password: Now try logging into the machine, with "ssh 'setevoy@cent2'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. Пробуем подключиться: $ ssh cent2 The authenticity of host 'cent2 (10.***.***.250)' can't be established. RSA key fingerprint is d1:25:28:1f:5c:17:26:eb:0d:9a:72:ae:7c:44:ce:91. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'cent2' (RSA) to the list of known hosts. Last login: Thu Mar 5 13:56:55 2015 from 10.249.140.93 Повторяем добавление ключа в файл authorized_keys для локального пользователя: $ ssh-copy-id -i ~/.ssh/id_rsa.pub setevoy@cent1 Теперь мы можем использовать Ansible. Для проверки — обычный ping всех серверов, описанных в /etc/ansible/hosts: $ ansible all -m ping cent2 | success >> { "changed": false, "ping": "pong" } cent1 | success >> { "changed": false, "ping": "pong" } Можно обойтись и без создания ключей, но для этого потребуется установить sshpass: # yum install sshpass $ ansible cent2 -m ping -k -u root SSH password: cent2 | success >> { "changed": false, "ping": "pong" } Тут мы указываем:
Полный список опций доступен по команде: $ ansible --help |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|