Ansible Advanced Host List Inventory

Ansible Advanced Host List Inventory



Използвайки една от най-новите техники за управление, „Ansible“, представяме как изброяваме всеки наблюдаван хост на устройството. В Ansible използваме приставката „inventory“, за да изброим всички хостове в мрежата.

От решаващо значение е да имате списък на всичките си хост машини в Ansible. Поддържането на организиран файл с инвентар е също толкова важно, колкото и поддържането на учебниците или задачите, защото постоянно ще се оказвате в състояние на несигурност и ще се питате с няколко притеснения дали вашият файл с инвентар не се управлява зле. В допълнение към гореизложеното, дефиницията на необходимите променливи във файла с инвентара минимизира съдържанието на задачата в учебниците и ускорява интерпретациите. Има група променливи, които могат да бъдат декларирани както във вашите книги за игра, така и във файловете на инвентара на Ansible, които са отговорни за свързването и конфигурирането на поведението на свързаност към хост машината.







Предпоставки:

По-долу са изискванията, преди да се приложи командата за опис на списъка с хостове в Ansible:



  • За да започнем внедряването, първо се нуждаем от софтуер, който се използва за конфигурация на Ansible, който е инсталиран в сървърното устройство с най-новата версия. Ansible трябва да бъде конфигуриран така, че да можем лесно да изброим всички хост машини в нашата мрежа.
  • За да изпълним каквато и да е конфигурационна задача в Ansible, се нуждаем от главен конфигурационен мениджър. В този урок използваме сървъра на контролера като основен контролер.
  • За да внедрим каквито и да било промени, трябва да се насочим към хост сървърите в урока за опис на списъка с хостове. Тук имаме два целеви отдалечени хоста.

Пример: Списък на хостове в машината

Ето примера, който внедряваме в инструмента Ansible за проверка или дефиниране на инвентара на списъка с хостове. За целта ще направим този пример на различни стъпки, за да можем лесно да разберем работата и изпълнението на този урок. Следват стъпките:



Стъпка 1: Проверете списъка с хостове по подразбиране в целевото отдалечено хост устройство





Първо проверяваме колко хоста има в инвентара на инструмента Ansible. За това използваме оператора „ansible“ с „—list-hosts“, за да можем да покажем управляваните по подразбиране възли в инвентара.

[ корен @ майстор анзибъл ] # ansible всички --list-hosts



Ето изхода след написването на предишната команда:

Терминалът Ansible показва „0 хостове“, както можете да видите в предоставения отговор, тъй като не сме декларирали инвентара. Ние генерираме инвентара, за да изброим инвентара на хоста в терминала, преди да разгледаме това.

Инвентар по подразбиране:

Когато инсталираме Ansible в софтуера, Ansible изгражда инвентарен файл, който се намира чрез написване на следното изявление в терминала:

[ корен @ майстор анзибъл ] # sudo nano /etc/ansible/hosts

Резултатът се генерира, когато напишем предишното изявление. След това ви моли да въведете паролата:

В тази моментна снимка файлът с Ansible hosts по подразбиране предоставя информацията относно негрупираните хостове и хостове на група уеб сървъри. Тези хостове включват URL адреси и различни IP адреси.

Стъпка 2: Дефинирайте персонализирания инвентар в Ansible

В Ansible можем също така да дефинираме нашия инвентар, като напишем множество изявления в терминала Ansible. Дефинирането на инвентара при изпълнение на изявленията и книгите за игри е мъдро решение, което предотвратява сблъсък на хостовете и неуспех при свързване с хостовете.

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

[ корен @ майстор анзибъл ] # нано хостове.yml

След написването на предишното изявление, инвентарът се създава и стартира в нов Ansible терминал със заглавие „hosts.yml“. След това изброяваме целевите хостове един по един в инвентара. Първият хост, с който се свързваме, е Linux хост. Предоставяме IP адреса на хоста на Linux, потребителя на Ansible, паролата на Ansible, вида на връзката и номера на порта на Ansible. Правим същото и с втория целеви хост. Вторият хост, който използваме, е хостът Ansible. Всички хостове, които изброихме, са под параметъра Ansible в инвентара.

Анзибъл:
домакини:
Linux_Host:
ansible_host: 192.168.3.229
ansible_user: root
ansible_password: tpstps_22
ansible_connection: ssh
ansible_port: 22

Ansible_Host:
ansible_host: 192.168.7.10
ansible_user: ирис
ansible_password: TpsTps_1
ansible_connection: ssh
ansible_port: 22

След като направим файла с инвентара и предоставим хостовете в него, сега прекратяваме файла с инвентара и се връщаме към главния терминал на Ansible.

Стъпка 3: Създайте Playbook в Ansible

След това създаваме книгата за игра в инструмента Ansible, така че да дефинираме задачите. За целта пишем следната команда в главния терминал на Ansible:

[ корен @ майстор анзибъл ] # nano ansible_advanced_inventory.yml

Сега книгата с игри е стартирана в нов терминал. Първо пишем заглавието на книгата. В следващия ред предоставяме целевия хост. Използваме опцията за събиране на факти, която се използва за получаване на цялата информация за хостовете. Но тук предаваме „не“, което означава, че не искаме да получаваме всички данни на хостовете.

След това изброяваме задачите в тетрадката. Първата задача се използва за показване на целевия хост с името на хоста. В следващата задача отпечатваме резултатите от хоста.

- име: Ansible разширен хост инвентар
домакини: Ansible [ 0 ]
събиране на факти: не
задачи:

- име: Get име на хост на управлявания възел
черупка: 'име на хост'
регистър: резултат

- име: Печат име на хост
отстраняване на грешки:
съобщение: „{{result.stdout}}“

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

[ корен @ майстор анзибъл ] # ansible-playbook ansible_advanced_inventory.yml –i host.yml

Следва изходният дисплей, който показва, че връзката е успешна. Тъй като предадохме Ansible[0] в playbook, първият хост се показва в изхода:

Заключение

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