Ansible установка · 3 min read · Dec 20, 2025
Как установить и настроить Ansible на Ubuntu 18.04 LTS

Ansible — это бесплатное и открытое программное обеспечение, которое можно использовать для автоматизации развертывания программного обеспечения, управления конфигурацией и развертывания приложений. В отличие от Puppet или Chef, вам не нужно настраивать клиент-серверную среду перед использованием Ansible. Вы можете управлять несколькими хостами из центрального места. Этот инструмент очень прост, но мощен для автоматизации сложных многослойных ИТ-приложений. Ansible взаимодействует через обычные SSH-каналы, чтобы получать информацию с удаленных машин и выполнять задачи.
В этом руководстве мы научимся устанавливать и использовать Ansible на сервере Ubuntu 18.04.
Требования
- Две системы сервера Ubuntu 18.04 с установленным OpenSSH сервером.
- Статический IP-адрес 192.168.0.101 настроен на серверной системе, а 192.168.0.104 настроен на клиентской системе.
- Непользователь с правами sudo настроен на обеих системах.
Начало работы
Перед началом обновите вашу систему до последней версии с помощью следующей команды:
sudo apt-get update -y
sudo apt-get upgrade -yПосле того как ваша система будет обновлена, перезагрузите ее, чтобы применить изменения.
Установка и настройка Ansible
По умолчанию последняя версия Ansible недоступна в стандартном репозитории Ubuntu 18.04. Поэтому вам нужно будет добавить PPA Ansible на ваш сервер. Вы можете сделать это, выполнив следующую команду:
sudo apt-add-repository ppa:ansible/ansibleЗатем обновите репозиторий и установите Ansible с помощью следующей команды:
sudo apt-get update -y
sudo apt-get install ansible -yПосле завершения установки вы можете проверить версию Ansible с помощью следующей команды:
sudo ansible --versionВывод:
ansible 2.7.1
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.15rc1 (default, Nov 12 2018, 14:31:15) [GCC 7.3.0]
Далее вам нужно будет определить вашу клиентскую систему, которую вы хотите управлять в файле хостов Ansible. Вы можете сделать это, отредактировав файл /etc/ansible/hosts:
sudo nano /etc/ansible/hostsДобавьте следующие строки:
[Client]
node1 ansible_ssh_host=192.168.0.104
Сохраните и закройте файл, когда закончите.
Настройка SSH-ключей для клиентской системы
Ansible использует SSH для связи с клиентским хостом. Поэтому вам нужно будет настроить аутентификацию по ключам SSH для клиентского хоста.
Сначала сгенерируйте пару SSH-ключей с помощью следующей команды:
ssh-keygenВывод:
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
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:bTVjTCKqxD8rnIw7/6mB6ZH9cnhzzOFg+/+x4clSOow root@ubuntu1804
The key's randomart image is:
+---[RSA 2048]----+
| . . . |
| . . . + |
| o . * |
| . o . o o |
| . o S o |
| O .oo.. . |
| * Bo.* + oo |
| ..oo+=.E =o = |
| ooo*++...+* |
+----[SHA256]-----+
Затем скопируйте этот открытый ключ на клиентскую систему с помощью следующей команды:
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]Вывод:
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/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
[email protected]'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
Работа с Ansible
Ansible теперь установлен и настроен. Пора протестировать Ansible.
На сервере Ansible попробуйте пинговать вашу клиентскую систему, используя Ansible, с помощью следующей команды.
ansible -m ping ClientВывод:
node1 | SUCCESS => {
"changed": false,
"ping": "pong"
}
Если у вас настроено несколько клиентов в файле хостов Ansible, вы можете пинговать все клиентские системы с помощью следующей команды:
ansible -m ping allВы можете проверить статус веб-сервера Apache на клиентской системе с помощью следующей команды:
ansible -m shell -a 'service apache2 status' ClientВывод:
node1 | CHANGED | rc=0 >>
* apache2 is running
Чтобы проверить размер раздела клиентской системы, выполните следующую команду:
ansible -m shell -a 'df -h' ClientВывод:
node1 | CHANGED | rc=0 >>
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 138G 48G 83G 37% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 1.9G 4.0K 1.9G 1% /dev
tmpfs 384M 1.2M 383M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1.9G 67M 1.9G 4% /run/shm
none 100M 36K 100M 1% /run/user
/dev/sda5 225G 35G 180G 16% /Data
Поздравляем! Вы успешно установили и настроили Ansible на сервере Ubuntu 18.04. Теперь вы можете легко использовать Ansible для выполнения простых задач удаленно.
Get new posts in your inbox
No spam. Unsubscribe anytime.