Как да инсталирате 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.



След това ще конфигурирам хостовете хост1 (IP адрес 192.168.20.162) и хост2 (IP адрес 192.168.20.153) за автоматизация на Ansible и изпълнете команди върху тях с помощта на Ansible от linuxhint-711ea машина.



Просто ще се обадя хост1 и хост2 като Ansible хостове в тази статия.





Инсталиране на Ansible:

Можете лесно да инсталирате Ansible на Ubuntu 20.04 LTS от официалното хранилище на пакети на Ubuntu.

Първо актуализирайте кеша на хранилището на APT пакета със следната команда:



$sudoподходяща актуализация

Кешът на хранилището на пакета APT трябва да се актуализира.

Сега инсталирайте Ansible със следната команда:

$sudoподходящИнсталирайанзибъл

За да потвърдите инсталацията, натиснете И и след това натиснете .

Ansible трябва да бъде инсталиран.

Сега изпълнете следната команда, за да проверите дали ansible работи правилно.

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

Както можете да видите, командата ansible е налична и работи правилно.

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

Сега трябва да генерирате SSH ключ на компютъра, на който сте инсталирали Ansible.

За да генерирате SSH ключ, изпълнете следната команда:

$ssh-keygen

Сега натиснете .

Натиснете .

Натиснете .

Трябва да се генерира SSH ключ.

Конфигуриране на Ubuntu хостове за отговорна автоматизация:

В този раздел ще ви покажа как да конфигурирате хост на Ubuntu ( хост1 ) за Ansible автоматизация. Ако имате повече от един хост, който искате да автоматизирате с помощта на Ansible, повторете същия процес на всеки от хостовете.

Хостовете на Ubuntu Ansible (които искате да конфигурирате за автоматизация на Ansible) трябва да имат инсталиран пакет SSH сървър.

Първо актуализирайте кеша на хранилището на APT пакета със следната команда:

$sudoподходяща актуализация

След това инсталирайте OpenSSH сървър със следната команда:

$sudoподходящИнсталирайopenssh-сървър

В моя случай сървърният пакет на OpenSSH вече е инсталиран. Ако не е инсталиран във вашия случай, трябва да бъде инсталиран.

Сега проверете дали sshd услугата работи със следната команда:

$sudosystemctl статус sshd

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

Ако sshd услугата не е активен (работи) във вашия случай, стартирайте го ръчно със следната команда:

$sudosystemctl стартира sshd

Ако sshd услугата не е активиран (не е добавено към стартирането на системата) във вашия случай, добавете го към стартирането на системата ръчно със следната команда:

$sudosystemctlактивирайтеsshd

Сега конфигурирайте защитната стена да позволява SSH достъп със следната команда:

$sudoufw позволяватssh

Трябва също да създадете анзибъл потребител и позволяват без парола sudo достъп до анзибъл потребител.

За да създадете анзибъл потребител, изпълнете следната команда:

$sudoadduser ansible

Сега въведете парола за анзибъл потребител и натиснете .

Сега въведете отново паролата и натиснете .

Сега натиснете .

Сега натиснете .

Сега натиснете .

Сега натиснете .

Сега натиснете .

Сега въведете и и след това натиснете .

Ан анзибъл потребителят трябва да бъде създаден.

Сега конфигурирайте без парола sudo достъп до анзибъл потребител със следната команда:

$изхвърлен 'ansible ALL = (ALL) NOPASSWD: ALL' | sudo тройник /и т.н./sudoers.d/анзибъл

Сега намерете IP адреса на хоста Ansible ( хост1 ) със следната команда:

$име на хост -Аз

Тук IP адресът в моя случай е 192.168.20.162 . При вас ще бъде различно. Така че, не забравяйте да го замените с вашия формуляр сега.

Сега, от компютъра, на който сте инсталирали Ansible, копирайте публичния ключ на SSH на хоста Ansible ( хост1 ) както следва:

$ssh-copy-id ansible@192.168.20.162

Напишете в да и натиснете .

Сега въведете паролата за анзибъл потребител и натиснете .

Публичният SSH ключ трябва да бъде копиран в хост1 .

Сега деактивирайте влизането на базата на парола за анзибъл потребител със следната команда:

$sudousermod-ТЕанзибъл

Сега можете да въведете само SSH в хоста Ansible ( хост1 ) като анзибъл потребител без парола от компютъра, от който сте копирали SSH публичния ключ (в този случай компютъра, на който сте инсталирали Ansible). Но няма да можете да използвате SSH в хоста Ansible ( хост1 ) като анзибъл потребител от всеки друг компютър. Конфигурирах хостовете Ansible по този начин от съображения за сигурност. Като анзибъл потребителят не се нуждае от парола за изпълнение на административни команди, рисковано е да се позволи влизане на базата на парола за анзибъл потребител.

Сега трябва да можете да SSH в анзиблирания хост хост1 от компютъра, на който сте инсталирали Ansible, както следва:

$sshанзибъл@192.168.20.162

Както можете да видите, имам достъп до хоста Ansible ( хост1 ) като потребител с отговорност без парола. И така, хостът Ansible ( хост1 ) е готов за автоматизация на Ansible.

Ако по някаква причина искате да разрешите влизане на базата на парола за анзибъл потребител отново, изпълнете следната команда в хоста Ansible ( хост1 ):

$sudousermod-Uанзибъл

Можете да конфигурирате колкото искате хостове за автоматизация на Ansible по същия начин.

В тази статия съм конфигурирал само 2 хоста, хост1 и хост2 за демонстрацията.

Тест Ansible:

Сега създайте нова директория на проекта ~/ansible-demo/ в компютъра, на който сте инсталирали Ansible, както следва:

$mkdir~/ansible-demo

Сега преминете към ~/ansible-demo/ директория, както следва:

$CD~/ansible-demo/

Сега създайте нов домакини файл в директорията на проекта, както следва:

$нанодомакини

Сега въведете IP адресите или DNS имената на Ansible хостовете ( хост1 и хост2 в моя случай) в домакини файл, както следва:

192.168.20.162
192.168.20.153

Сега запишете файла, като натиснете + X следван от И и тогава .

Сега се опитайте да пингвате всички хостове, използвайки Ansible, както следва:

$отговорен всички./домакини-uанзибъл пинг

ЗАБЕЛЕЖКА: Тук опцията -u се използва за определяне на потребителското име (в този случай ansible), което Ansible ще използва за SSH в хостовете.

Както можете да видите, всички хостове могат да бъдат пингувани. Така че хостовете са готови за автоматизация на Ansible.

По същия начин можете да изпълните всяка команда в хостовете, използвайки Ansible, както следва:

$отговорен всички./домакини-uанзибълчерупка-да се 'echo' $ (име на хост) - $ (име на хост -I) ''

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

Така че, по този начин инсталирате Ansible на Ubuntu 20.04 LTS и конфигурирате Ubuntu 20.04 LTS хостове за Ansible автоматизация. Благодаря, че прочетохте тази статия.