3 Установка Ansible

Ansible — система управления конфигурациями, написанная на Python, с использованием декларативного языка разметки для описания конфигураций. Используется для автоматизации настройки и развертывания программного обеспечения. Обычно используется для управления Linux-узлами, но Windows также поддерживается. Поддерживает работу с сетевыми устройствами, на которых установлен Python версии 2.4 и выше по SSH или WinRM соединению.

Для установки Ansible открываем терминал в режим суперпользователя командой

su

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

yum install ansible*

1) В файле /etc/ansible/hosts пропишите группы и хосты, для которых будет работать Ansible.

[ipa.test]
10.81.1.111
10.81.1.74

2) Сгенерировать кейген командой (и пассфразу (passphrase) можно не задавать)

ssh-keygen -C "$(whoami)@$(hostname)-$(date -I)"

ssh-keygen требуется для аутентификации удаленного подключения по ssh

passphrase — секретная фраза для аутентификации

3) Распространить ключи на хосты можно командой

ssh-copy-id user@server
* где user и server заменить на реальные, пример root@10.81.1.74

4) Пингуем удаленные хосты:

ansible ipa.test -m ping
test-1 | success >> {
    "changed": false, U
    "ping": "pong"
}

test-2 | success >> {
    "changed": false, 
    "ping": "pong"
}

5) Просмотрим информацию об использовании оперативной памяти на удаленных хостах:

ansible ipa.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

6) Создаем каталог, для хранения наших playbooks, которые пишутся на языке YAML:

mkdir /etc/ansible/playbooks

7) В каталоге /etc/ansible/playbooks создаем файл install_yumex.yml:

touch /etc/ansible/playbooks/install_yumex.yml

Содержимое файла следующее:

---
- hosts: ipa.test
  tasks:

  - name: Install package yumex
    yum: name=yumex update_cache=yes
    become: yes

8) Узнать, на каких хостах будет происходить работа, можно командой:

ansible-playbook /etc/ansible/playbooks/install_yumex.yml --list-host

9) Запустить только что созданный набор инструкций можно следующей командой:

ansible-playbook /etc/ansible/playbooks/install_yumex.yml 

Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter.