Ansible применяется для управления множеством хостов. Не требует установки дополнительного программного обеспечения - нужен только доступ к управляемому компьютеру. ОС управляющего и управляемого сервера могут не совпадать, т.е управляющий сервер может быть на Centos а принимающий на Debian и наоборот. Ansible использует Playbooks - сценарии.на языке YAML.
Для установки Ansible на ОС, использующих yum напишем в командной строке:
yum install ansible
Проверим корректность установки.
ansible --version
Настройки ansible хранятся в папке /etc/ansible.
Для взаимодействия с другими хостами необходимо сгенерировать ключевой файл с помощью ssh-keygen.
ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:UlMWzER2AWF9v/HNTQQ2gzz8BNW/5ruuh2bmBKoilwA root@centos7x64
The key's randomart image is:
+---[RSA 2048]----+
| =@B+=*o |
| =o.*.ooo|
| o = o.|
| E . . ..+|
| . . S . oB|
| . . . . +=|
| . . . .+ |
| . + . .= o |
| o .. =o++o|
+----[SHA256]-----+
Обмен открытыми ключами можно осуществить используя ssh-copy-id <имя или ip сервера>. При соединении с данным сервером прочитается ключ и будет предоставлен доступ.
ssh-copy-id 10.0.0.4ssh 10.0.0.4
[root@centos7x64 ~]# ssh-copy-id 10.0.0.4
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '10.0.0.4 (10.0.0.4)' can't be established.
ECDSA key fingerprint is SHA256:J+QBiNgCn0OR9WWOOBy9S0NJxk0xue4w7sXDuJYO5Zg.
ECDSA key fingerprint is MD5:e8:cb:20:e0:1a:40:3f:9e:01:2c:72:92:88:f1:fb:22.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@10.0.0.4's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '10.0.0.4'"
and check to make sure that only the key(s) you wanted were added.
root@debian9:~# ssh 10.0.0.4
Linux debian9 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Jul 26 14:53:46 2018 from 185.11.35.28
Теперь добавим этот узел в файл:
/etc/ansible/hosts.
Узел можно добавить отдельно или в любую группу, если хостов несколько, например в webservers: