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

How Install Ansible Ubuntu 20



В этой статье я покажу вам, как установить Ansible на Ubuntu 20.04 LTS и настроить хосты Ubuntu 20.04 LTS для автоматизации Ansible. Итак, приступим.

Топология сети:







Здесь linuxhint-711ea это машина Ubuntu 20.04 LTS, на которую я буду устанавливать Ansible.



Затем я настрою хосты host1 (IP-адрес 192.168.20.162) и host2 (IP-адрес 192.168.20.153) для автоматизации Ansible и запускать на них команды с помощью Ansible из linuxhint-711ea машина.



Я просто позвоню host1 а также host2 в качестве хостов Ansible в этой статье.





Установка Ansible:

Вы можете легко установить Ansible на Ubuntu 20.04 LTS из официального репозитория пакетов Ubuntu.

Сначала обновите кеш репозитория пакетов APT с помощью следующей команды:



$судоподходящее обновление

Кэш репозитория пакетов APT должен быть обновлен.

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

$судоподходящийустановитьанзибль

Для подтверждения установки нажмите А ТАКЖЕ а затем нажмите .

Должен быть установлен Ansible.

Теперь выполните следующую команду, чтобы проверить, правильно ли работает ansible.

$анзибль--версия

Как видите, команда ansible доступна и работает корректно.

Генерация ключа SSH:

Теперь вам нужно сгенерировать SSH-ключ на компьютере, на котором вы установили Ansible.

Чтобы сгенерировать SSH-ключ, выполните следующую команду:

$ssh-keygen

Теперь нажмите .

Нажмите .

Нажмите .

Должен быть сгенерирован ключ SSH.

Настройка хостов Ubuntu для Ansible Automation:

В этом разделе я покажу вам, как настроить хост Ubuntu ( host1 ) для автоматизации Ansible. Если у вас более одного хоста, который вы хотите автоматизировать с помощью Ansible, повторите тот же процесс на каждом из хостов.

На хостах Ubuntu Ansible (которые вы хотите настроить для автоматизации Ansible) должен быть установлен пакет сервера SSH.

Сначала обновите кеш репозитория пакетов APT с помощью следующей команды:

$судоподходящее обновление

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

$судоподходящийустановитьopenssh-сервер-а также

В моем случае пакет сервера OpenSSH уже установлен. Если в вашем случае он не установлен, его следует установить.

Теперь проверьте, есть ли sshd служба запускается с помощью следующей команды:

$судоsystemctl status sshd

Как видите, sshd услуга активный (бег) и включено (автоматически запускается при загрузке системы).

Если sshd сервис не активный (работает) в вашем случае, запустите его вручную с помощью следующей команды:

$судоsystemctl start sshd

Если sshd сервис не включено (не добавляется в автозагрузку системы) в вашем случае добавьте его в автозагрузку системы вручную с помощью следующей команды:

$судоsystemctlвключитьsshd

Теперь настройте брандмауэр, чтобы разрешить доступ по SSH, с помощью следующей команды:

$судоufw разрешитьssh

Вам также следует создать анзибль пользователя и разрешите sudo доступ без пароля к анзибль Пользователь.

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

$судоаддуктор анзибль

Теперь введите пароль для анзибль пользователь и нажмите .

Теперь введите пароль еще раз и нажмите .

Теперь нажмите .

Теперь нажмите .

Теперь нажмите .

Теперь нажмите .

Теперь нажмите .

Теперь введите а также а затем нажмите .

An анзибль пользователь должен быть создан.

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

$выбросил 'ansible ALL = (ВСЕ) NOPASSWD: ALL' | судо тройник /так далее/sudoers.d/анзибль

Теперь найдите IP-адрес хоста Ansible ( host1 ) с помощью следующей команды:

$имя хоста

Здесь IP-адрес в моем случае 192.168.20.162 . Для вас все будет иначе. Так что не забудьте заменить его своей формой.

Теперь с компьютера, на котором вы установили Ansible, скопируйте открытый ключ SSH на хост Ansible ( host1 ) следующее:

$ssh-copy-id доступный@192.168.20.162

Введите да и нажмите .

Теперь введите пароль для анзибль пользователь и нажмите .

Публичный ключ SSH следует скопировать в host1 .

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

$судоusermod-ГОанзибль

Теперь вы можете подключиться к хосту Ansible только по SSH ( host1 ) в качестве анзибль пользователь без пароля с компьютера, с которого вы скопировали открытый ключ SSH (в данном случае компьютер, на котором вы установили Ansible). Но вы не сможете подключиться по SSH к хосту Ansible ( host1 ) в качестве анзибль пользователь с любого другого компьютера. Я настроил хосты Ansible таким образом из соображений безопасности. Как анзибль пользователю не нужен пароль для выполнения административных команд, разрешать вход на основе пароля для анзибль Пользователь.

Теперь у вас должна быть возможность подключиться по SSH к доступному хосту. host1 с компьютера, на котором вы установили Ansible, следующим образом:

$sshанзибль@192.168.20.162

Как видите, я могу получить доступ к хосту Ansible ( host1 ) как доступный пользователь без пароля. Итак, хост Ansible ( host1 ) готов к автоматизации Ansible.

Если по какой-то причине вы хотите разрешить вход на основе пароля для анзибль пользователь снова, выполните следующую команду на хосте Ansible ( host1 ):

$судоusermod-Uанзибль

Таким же образом вы можете настроить любое количество хостов для автоматизации Ansible.

В этой статье я настроил только 2 хоста, host1 а также host2 для демонстрации.

Тестирование Ansible:

Теперь создайте новый каталог проекта ~ / ansible-demo / на компьютере, на котором вы установили Ansible, выполните следующие действия:

$mkdir~/ансибл-демо

Теперь перейдите к ~ / ansible-demo / каталог следующим образом:

$CD~/ансибл-демо/

Теперь создайте новый хозяева файл в каталоге проекта следующим образом:

$нанохозяева

Теперь введите IP-адреса или DNS-имена хостов Ansible ( host1 а также host2 в моем случае) в хозяева файл следующим образом:

192.168.20.162
192.168.20.153

Теперь сохраните файл, нажав + X с последующим А ТАКЖЕ а потом .

Теперь попробуйте пропинговать все хосты с помощью Ansible следующим образом:

$анзибль все./хозяева-uанзибль пинг

ЗАМЕТКА: Здесь опция -u используется для указания имени пользователя (в данном случае доступного), которое Ansible будет использовать для SSH на хостах.

Как видите, пингуются все хосты. Итак, хосты готовы к автоматизации Ansible.

Таким же образом вы можете запустить любую команду на хостах с помощью Ansible следующим образом:

$анзибль все./хозяева-uанзибльоболочка 'echo' $ (имя хоста) - $ (имя хоста -I) ''

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

Итак, вот как вы устанавливаете Ansible в Ubuntu 20.04 LTS и настраиваете хосты Ubuntu 20.04 LTS для автоматизации Ansible. Спасибо, что прочитали эту статью.