Мрежова топология:
Ето, 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 актуализация
Кешът на хранилището на APT пакети трябва да бъде актуализиран.
Сега инсталирайте Ansible със следната команда:
$ sudo apt install ansible
За да потвърдите инсталацията, натиснете Y и след това натиснете
Ansible трябва да бъде инсталиран.
Сега изпълнете следната команда, за да проверите дали ansible работи правилно.
$ ansible --versionКакто можете да видите, командата ansible е налична и работи правилно.
Генериране на SSH ключ:
Сега трябва да генерирате SSH ключ на компютъра, на който сте инсталирали Ansible.
За да генерирате SSH ключ, изпълнете следната команда:
$ ssh-keygen
Сега натиснете
Натиснете
Натиснете
Трябва да се генерира SSH ключ.
Конфигуриране на хостове на Ubuntu за Ansible Automation:
В този раздел ще ви покажа как да конфигурирате хост на Ubuntu (домакин1) за Ansible автоматизация. Ако имате повече от един хост, който искате да автоматизирате с помощта на Ansible, повторете същия процес на всеки от хостовете.
Хостовете на Ubuntu Ansible (които искате да конфигурирате за Ansible автоматизация) трябва да имат инсталиран SSH сървърен пакет.
Първо актуализирайте кеша на хранилището на APT пакета със следната команда:
$ sudo apt актуализация
След това инсталирайте OpenSSH сървър със следната команда:
$ sudo apt install openssh-server -y
В моя случай пакетът OpenSSH сървър вече е инсталиран. Ако не е инсталиран във вашия случай, трябва да бъде инсталиран.
Сега проверете дали sshd услугата се изпълнява със следната команда:
$ sudo systemctl статус sshdКакто можете да видите, sshd услугата е активен (работи) и активиран (автоматично ще стартира при зареждане на системата).
Ако sshd услугата не е активен (работи) във вашия случай, стартирайте го ръчно със следната команда:
$ sudo systemctl стартира sshdАко sshd услугата не е активиран (не е добавено към стартиране на системата) във вашия случай го добавете ръчно към стартиране на системата със следната команда:
$ sudo systemctl активира sshdСега конфигурирайте защитната стена, за да разреши SSH достъп със следната команда:
$ sudo ufw позволи ssh
Трябва също да създадете ансибъл потребител и разрешават достъп до sudo без парола ансибъл потребител.
За да създадете ансибъл потребител, изпълнете следната команда:
$ sudo adduser ansible
Сега въведете парола за ансибъл потребител и натиснете
Сега въведете отново паролата и натиснете
Сега натиснете
Сега натиснете
Сега натиснете
Сега натиснете
Сега натиснете
Сега въведете у и след това натиснете
An ансибъл потребителят трябва да бъде създаден.
Сега конфигурирайте без парола достъп до sudo до ансибъл потребител със следната команда:
$ echo "ansible ALL = (ALL) NOPASSWD: ALL" | sudo tee / etc / sudoers.г / анзибъл
Сега намерете IP адреса на Ansible хоста (домакин1) със следната команда:
$ hostname -IТук IP адресът в моя случай е 192.168.20.162. За вас ще е различно. Така че, не забравяйте да го замените с вашия формуляр сега.
Сега от компютъра, на който сте инсталирали Ansible, копирайте SSH публичния ключ на Ansible хоста (домакин1) както следва:
$ ssh-copy-id ansible @ 192.168.20.162
Напишете в да и натиснете
Сега въведете паролата за ансибъл потребител и натиснете
Публичният SSH ключ трябва да бъде копиран в домакин1.
Сега деактивирайте базираното на парола вход за ансибъл потребител със следната команда:
$ sudo usermod -L Ansible
Сега можете да SSH само в Ansible хост (домакин1) като ансибъл потребител без никаква парола от компютъра, от който сте копирали публичния ключ на SSH (в този случай компютърът, на който сте инсталирали Ansible). Но няма да можете да SSH в Ansible хост (домакин1) като ансибъл потребител от всеки друг компютър. Конфигурирах хостовете Ansible по този начин от съображения за сигурност. Като ансибъл потребителят не се нуждае от никаква парола за изпълнение на административни команди, рисковано е да разрешите базиран на парола вход за ансибъл потребител.
Сега трябва да можете да SSH в Ansible хост домакин1 от компютъра, на който сте инсталирали Ansible, както следва:
$ ssh ansible @ 192.168.20.162
Както можете да видите, имам достъп до Ansible хоста (домакин1) като отговорен потребител без никаква парола. И така, Ansible хост (домакин1) е готов за Ansible автоматизация.
Ако по някаква причина искате да разрешите базирано на парола влизане за ансибъл потребител отново, изпълнете следната команда в Ansible хоста (домакин1):
$ sudo usermod -U Ansible
Можете да конфигурирате колкото искате хостове за Ansible автоматизация по същия начин.
В тази статия съм конфигурирал само 2 хоста, домакин1 и домакин2 за демонстрацията.
Тестване Ansible:
Сега създайте нова директория на проекта ~ / ansible-demo / в компютъра, на който сте инсталирали Ansible, както следва:
$ mkdir ~ / ansible-demo
Сега отидете до ~ / ansible-demo / директория, както следва:
$ cd ~ / ansible-demo /
Сега създайте нов домакини файл в директорията на проекта, както следва:
$ nano домакини
Сега въведете IP адресите или DNS имената на Ansible хостовете (домакин1 и домакин2 в моя случай) в домакини файл, както следва:
192.168.20.162192.168.20.153
Сега запазете файла, като натиснете
Сега опитайте да пингнете всички хостове, използвайки Ansible, както следва:
$ ansible всички -i ./ hosts -u ansible -m pingЗАБЕЛЕЖКА: Тук опцията -u се използва за указване на потребителското име (в този случай ansible), което Ansible ще използва за SSH в хостовете.
Както можете да видите, всички домакини могат да бъдат пинг. И така, домакините са готови за автоматизация Ansible.
По същия начин можете да изпълните всяка команда в хостовете, използвайки Ansible, както следва:
$ ansible всички -i ./ hosts -u ansible -m shell -a 'echo "$ (hostname) - $ (hostname -I)"'
Както можете да видите, командата се изпълнява успешно във всеки от хостовете и изходът се показва.
И така, по този начин инсталирате Ansible на Ubuntu 20.04 LTS и конфигурирайте Ubuntu 20.04 LTS хостове за Ansible автоматизация. Благодаря, че прочетохте тази статия.