Korištenje dodataka za inventar iz Ansible Content Collections u Ansible Toweru

IT okruženja postaju sve složenija. U ovim uslovima, za sistem IT automatizacije je kritično da ima ažurne informacije o čvorovima koji su prisutni u mreži i podložni obradi. U Red Hat Ansible Automation Platformi ovaj problem se rješava kroz tzv. inventar (inventar) – liste upravljanih čvorova.

Korištenje dodataka za inventar iz Ansible Content Collections u Ansible Toweru

U svom najjednostavnijem obliku, inventar je statična datoteka. Ovo je idealno kada počnete da radite sa Ansibleom, ali kako se automatizacija povećava, postaje nedovoljna.

I evo zašto:

  1. Kako ažurirati i održavati potpunu listu praćenih čvorova kada se stvari stalno mijenjaju, kada radna opterećenja – a potom i čvorovi na kojima rade – dolaze i odlaze?
  2. Kako klasificirati komponente IT infrastrukture da bi se posebno odabrali čvorovi za primjenu određene automatizacije?

Dinamički inventar daje odgovore na oba ova pitanja (dinamički inventar) – skripta ili dodatak koji traži čvorove za automatizaciju, upućujući na izvor istine. Osim toga, dinamički inventar automatski klasifikuje čvorove u grupe tako da možete preciznije odabrati ciljne sisteme za izvođenje specifične Ansible automatizacije.

Dodaci za inventar dajte Ansible korisniku mogućnost pristupa vanjskim platformama za dinamičku pretragu ciljnih čvorova i korištenje ovih platformi kao izvora istine prilikom kreiranja inventara. Standardna lista izvora u Ansibleu uključuje platforme u oblaku AWS EC2, Google GCP i Microsoft Azure, a postoje i mnogi drugi dodaci za inventar za Ansible.

Ansible Tower dolazi sa nekoliko dodaci za inventar, koji rade odmah iz kutije i, pored gore navedenih platformi u oblaku, pružaju integraciju sa VMware vCenter, Red Hat OpenStack platformom i Red Hat Satellite. Za ove dodatke, samo trebate dati vjerodajnice za povezivanje na ciljnu platformu, nakon čega se mogu koristiti kao izvor podataka o inventaru u Ansible Toweru.

Pored standardnih dodataka uključenih u Ansible Tower, postoje i drugi dodaci za inventar koje podržava Ansible zajednica. Sa prelaskom na Red Hat Ansible kolekcije sadržaja ovi dodaci su počeli da se uključuju u odgovarajuće kolekcije.

U ovom postu ćemo uzeti primjer rada sa dodatkom za inventar za ServiceNow, popularnu platformu za upravljanje IT uslugama u kojoj korisnici često pohranjuju informacije o svim svojim uređajima u CMDB. Osim toga, CMDB može sadržavati kontekst koji je koristan za automatizaciju, kao što su informacije o vlasnicima servera, nivoima usluga (proizvodni/neproizvodni), instaliranim ažuriranjima i prozorima održavanja. Dodatak Ansible inventara može raditi sa ServiceNow CMDB i dio je kolekcije servis sada na portalu galaxy.ansible.com.

Git spremište

Da biste koristili dodatak za inventar iz kolekcije u Ansible Toweru, on mora biti postavljen kao izvor projekta. U Ansible Tower-u, projekat je integracija sa nekom vrstom sistema za kontrolu verzija, poput git repozitorija, koji se može koristiti za sinhronizaciju ne samo priručnika za automatizaciju, već i varijabli i popisa inventara.

Naše spremište je zapravo vrlo jednostavno:

├── collections
│   └── requirements.yml
└── servicenow.yml

Datoteka servicenow.yml sadrži detalje za inventar dodataka. U našem slučaju, jednostavno specificiramo tablicu u ServiceNow CMDB-u koju želimo koristiti. Također postavljamo polja koja će biti dodana kao varijable čvora, plus određene informacije o grupama koje želimo kreirati.

$ cat servicenow.yml
plugin: servicenow.servicenow.now
table: cmdb_ci_linux_server
fields: [ip_address,fqdn,host_name,sys_class_name,name,os]
keyed_groups:
  - key: sn_sys_class_name | lower
	prefix: ''
	separator: ''
  - key: sn_os | lower
	prefix: ''
	separator: ''

Imajte na umu da ovo ne navodi ServiceNow instancu na koju ćemo se povezati ni na koji način i ne navodi nikakve vjerodajnice za povezivanje. Sve ovo ćemo kasnije konfigurisati u Ansible Toweru.

File collections/requirements.yml potrebno da Ansible Tower može preuzeti potrebnu kolekciju i na taj način dobiti potreban dodatak za inventar. U suprotnom, morali bismo ručno instalirati i održavati ovu kolekciju na svim našim Ansible Tower čvorovima.

$ cat collections/requirements.yml
---
collections:

- name: servicenow.servicenow

Nakon što smo ovu konfiguraciju gurnuli u kontrolu verzija, možemo kreirati projekat u Ansible Tower-u koji upućuje na odgovarajuće spremište. Primjer ispod povezuje Ansible Tower sa našim github repozitorijumom. Obratite pažnju na SCM URL: omogućava vam da registrujete nalog za povezivanje sa privatnim spremištem, kao i da navedete određenu granu, oznaku ili urezivanje za odjavu.

Korištenje dodataka za inventar iz Ansible Content Collections u Ansible Toweru

Kreiranje vjerodajnica za ServiceNow

Kao što je spomenuto, konfiguracija u našem spremištu ne sadrži vjerodajnice za povezivanje na ServiceNow i ne specificira ServiceNow instancu s kojom ćemo komunicirati. Stoga, da bismo postavili ove podatke, kreirat ćemo vjerodajnice u Ansible Toweru. Prema Dokumentacija dodatka za inventar ServiceNow, postoji niz varijabli okruženja s kojima ćemo postaviti parametre veze, na primjer, ovako:

= username
    	The ServiceNow user account, it should have rights to read cmdb_ci_server (default), or table specified by SN_TABLE

    	set_via:
      	env:
      	- name: SN_USERNAME

U ovom slučaju, ako je varijabla okruženja SN_USERNAME postavljena, dodatak za inventar će je koristiti kao račun za povezivanje na ServiceNow.

Također moramo postaviti varijable SN_INSTANCE i SN_PASSWORD.

Međutim, ne postoje vjerodajnice ovog tipa u Ansible Toweru gdje biste mogli navesti ove podatke za ServiceNow. Ali Ansible Tower nam omogućava da definišemo prilagođene vrste akreditiva, više o tome možete pročitati u članku "Spotlight funkcije Ansible Tower: Prilagođene vjerodajnice".

U našem slučaju, ulazna konfiguracija za prilagođene vjerodajnice za ServiceNow izgleda ovako:

fields:
  - id: SN_USERNAME
	type: string
	label: Username
  - id: SN_PASSWORD
	type: string
	label: Password
	secret: true
  - id: SN_INSTANCE
	type: string
	label: Snow Instance
required:
  - SN_USERNAME
  - SN_PASSWORD
  - SN_INSTANCE

Ove vjerodajnice će biti izložene kao varijable okruženja s istim imenom. Ovo je opisano u konfiguraciji injektora:

env:
  SN_INSTANCE: '{{ SN_INSTANCE }}'
  SN_PASSWORD: '{{ SN_PASSWORD }}'
  SN_USERNAME: '{{ SN_USERNAME }}'

Dakle, definirali smo tip vjerodajnica koji nam je potreban, sada možemo dodati ServiceNow račun i postaviti instancu, korisničko ime i lozinku, ovako:

Korištenje dodataka za inventar iz Ansible Content Collections u Ansible Toweru

Mi kreiramo inventar

Dakle, sada smo svi spremni za kreiranje inventara u Ansible Toweru. Nazovimo to ServiceNow:

Korištenje dodataka za inventar iz Ansible Content Collections u Ansible Toweru

Nakon kreiranja inventara, možemo mu priložiti izvor podataka. Ovdje specificiramo projekt koji smo kreirali ranije i unosimo putanju do naše YAML datoteke inventara u spremištu izvorne kontrole, u našem slučaju to je servicenow.yml u korijenu projekta. Pored toga, potrebno je da povežete svoj ServiceNow nalog.

Korištenje dodataka za inventar iz Ansible Content Collections u Ansible Toweru

Da provjerimo kako sve funkcionira, pokušajmo da se sinhronizujemo sa izvorom podataka klikom na dugme „Sinhronizuj sve“. Ako je sve ispravno konfigurirano, onda čvorove treba uvesti u naš inventar:

Korištenje dodataka za inventar iz Ansible Content Collections u Ansible Toweru

Napominjemo da su grupe koje su nam potrebne također kreirane.

zaključak

U ovom postu smo pogledali kako koristiti dodatke za inventar iz kolekcija u Ansible Toweru koristeći dodatak ServiceNow kao primjer. Također smo sigurno registrirali vjerodajnice za povezivanje s našom ServiceNow instancom. Povezivanje dodatka za inventar iz projekta radi ne samo sa dodacima trećih strana ili prilagođenim dodacima, već se može koristiti i za modificiranje rada nekih standardnih inventara. Ovo čini Ansible Automation Platformu jednostavnom i neprimetnom za integraciju sa postojećim alatima prilikom automatizacije sve složenijih IT okruženja.

Više informacija o temama o kojima se raspravlja u ovom postu, kao i o drugim aspektima korištenja Ansiblea, možete pronaći ovdje:

*Red Hat ne garantuje da je kod sadržan u ovom dokumentu tačan. Svi materijali se pružaju bez odobrenja, osim ako nije drugačije izričito navedeno.

izvor: www.habr.com

Dodajte komentar