Поиск по сайту:

Как установить и настроить Ansible в Ubuntu 18.04 LTS


Это руководство существует для этих версий ОС

  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 18.04 (Bionic Beaver)

На этой странице

  1. Требования
  2. Начало работы
  3. Установка и настройка Ansible
  4. Настройка ключей SSH для клиентской системы
  5. Работа с Ansible

Ansible — это бесплатное программное обеспечение с открытым исходным кодом, которое можно использовать для автоматизации подготовки программного обеспечения, управления конфигурацией и развертывания приложений. В отличие от Puppet или Chef, вам не нужно настраивать клиент-серверную среду перед использованием Ansible. Вы можете управлять несколькими хостами из центрального места. Это очень простой, но мощный инструмент для автоматизации сложных многоуровневых сред ИТ-приложений. Ansible обменивается данными по обычным каналам SSH для получения информации с удаленных компьютеров и выполнения задач.

В этом руководстве мы узнаем, как установить и использовать Ansible на сервере Ubuntu 18.04.

Требования

  • Две серверные системы Ubuntu 18.04 с установленным сервером OpenSSH.
  • Статический IP-адрес 192.168.0.101 установлен в серверной системе, а 192.168.0.104 — в клиентской системе.
  • В обеих системах настроен пользователь без полномочий root с привилегиями sudo.

Начиная

Перед запуском обновите свою систему до последней версии с помощью следующей команды:

sudo apt-get update -y
sudo apt-get upgrade -y

Как только ваша система будет обновлена, перезагрузите систему, чтобы применить изменения.

Установите и настройте Ansible

По умолчанию последняя версия Ansible недоступна в стандартном репозитории Ubuntu 18.04. Поэтому вам нужно будет добавить Ansible PPA на ваш сервер. Вы можете сделать это, выполнив следующую команду:

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 
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 4

Вывод:

/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
's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh ''"
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 hosts. Затем вы можете пропинговать всю клиентскую систему с помощью следующей команды:

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 для удаленного выполнения простых задач.