Korištenje dodataka inventara iz Ansible Content Collections u Ansible Toweru

IT okruženja postaju sve složenija. U ovakvim uvjetima, kritično je da IT sustav automatizacije ima ažurne informacije o čvorovima koji su prisutni u mreži i podliježu obradi. U Red Hat Ansible Automation Platform, ovaj problem je riješen kroz tzv. inventar (popis) – popisi upravljanih čvorova.

Korištenje dodataka inventara iz Ansible Content Collections u Ansible Toweru

U svom najjednostavnijem obliku, inventar je statična datoteka. Ovo je idealno kada počnete raditi s Ansibleom, ali kako se automatizacija povećava, postaje nedovoljno.

Evo i zašto:

  1. Kako ažurirati i održavati potpuni popis nadziranih čvorova kada se stvari stalno mijenjaju, kada radna opterećenja—a potom i čvorovi na kojima se izvode—dođu i odu?
  2. Kako klasificirati komponente IT infrastrukture kako bi se specifično 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 koje treba automatizirati, pozivajući se na izvor istine. Osim toga, dinamički inventar automatski klasificira čvorove u grupe tako da možete točnije odabrati ciljne sustave za izvođenje specifične Ansible automatizacije.

Dodaci za inventar dajte Ansible korisniku mogućnost pristupa vanjskim platformama za dinamičko traženje ciljnih čvorova i korištenje tih platformi kao izvora istine pri izradi inventara. Standardni popis izvora u Ansibleu uključuje cloud platforme AWS EC2, Google GCP i Microsoft Azure, a tu su i mnogi drugi dodaci za inventar za Ansible.

Ansible Tower dolazi s brojnim dodaci za inventar, koji rade odmah iz kutije i, uz gore navedene platforme u oblaku, pružaju integraciju s VMware vCenter, Red Hat OpenStack Platform i Red Hat Satellite. Za ove dodatke trebate samo dati vjerodajnice za povezivanje s ciljnom platformom, nakon čega se mogu koristiti kao izvor podataka inventara u Ansible Toweru.

Uz standardne dodatke uključene u Ansible Tower, postoje i drugi dodaci za popis koje podržava Ansible zajednica. S prijelazom na Red Hat Ansible zbirke sadržaja ti su se dodaci počeli uključivati ​​u odgovarajuće zbirke.

U ovom ćemo postu uzeti primjer rada s dodatkom inventara 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 poslužitelja, razinama usluge (proizvodna/neproizvodna), instaliranim ažuriranjima i periodima održavanja. Dodatak za popis Ansible može raditi sa ServiceNow CMDB i dio je kolekcije servisiranje na portalu galaxy.ansible.com.

Git spremište

Da biste koristili dodatak za inventar iz zbirke u Ansible Toweru, on mora biti postavljen kao izvor projekta. U Ansible Toweru projekt je integracija s nekom vrstom sustava za kontrolu verzija, poput repozitorija git, koji se može koristiti za sinkronizaciju 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 pojedinosti o popisu dodataka. U našem slučaju jednostavno navedemo tablicu u ServiceNow CMDB koju želimo koristiti. Također postavljamo polja koja će biti dodana kao varijable čvora, plus određene informacije o grupama koje želimo stvoriti.

$ 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 instancu ServiceNow s kojom ćemo se na bilo koji način povezati i ne navodi nikakve vjerodajnice za povezivanje. Sve ćemo to kasnije konfigurirati u Ansible Toweru.

Zbirke datoteka/zahtjevi.yml potreban kako bi Ansible Tower mogao preuzeti traženu zbirku i time dobiti potreban dodatak za inventar. Inače bismo morali 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 gurnemo ovu konfiguraciju u kontrolu verzija, možemo stvoriti projekt u Ansible Toweru koji se poziva na odgovarajuće spremište. Primjer ispod povezuje Ansible Tower s našim github repozitorijem. Obratite pozornost na SCM URL: on vam omogućuje registraciju računa za povezivanje s privatnim spremištem, kao i navođenje određene grane, oznake ili obveze za odjavu.

Korištenje dodataka inventara iz Ansible Content Collections u Ansible Toweru

Stvaranje vjerodajnica za ServiceNow

Kao što je spomenuto, konfiguracija u našem repozitoriju ne sadrži vjerodajnice za povezivanje na ServiceNow i ne navodi instancu ServiceNow s kojom ćemo komunicirati. Stoga ćemo za postavljanje ovih podataka izraditi 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 postavljena varijabla okruženja SN_USERNAME, dodatak za inventar će je koristiti kao račun za povezivanje sa ServiceNow.

Također moramo postaviti varijable SN_INSTANCE i SN_PASSWORD.

Međutim, ne postoje vjerodajnice ove vrste u Ansible Toweru gdje biste mogli navesti ove podatke za ServiceNow. Ali Ansible Tower nam omogućuje definiranje prilagođene vrste vjerodajnica, više o tome možete pročitati u članku "U središtu pozornosti značajke Ansible Towera: 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 bit će izložene kao varijable okoline 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 vrstu vjerodajnice koja nam je potrebna, sada možemo dodati ServiceNow račun i postaviti instancu, korisničko ime i lozinku, ovako:

Korištenje dodataka inventara iz Ansible Content Collections u Ansible Toweru

Mi stvaramo zalihe

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

Korištenje dodataka inventara iz Ansible Content Collections u Ansible Toweru

Nakon izrade inventara, možemo mu priložiti izvor podataka. Ovdje specificiramo projekt koji smo ranije izradili i unosimo put do naše YAML inventarne datoteke u repozitoriju kontrole izvora, u našem slučaju to je servicenow.yml u korijenu projekta. Osim toga, morate povezati svoj račun ServiceNow.

Korištenje dodataka inventara iz Ansible Content Collections u Ansible Toweru

Da provjerimo kako sve radi, pokušajmo se sinkronizirati s izvorom podataka klikom na gumb "Sinkroniziraj sve". Ako je sve ispravno konfigurirano, čvorove treba uvesti u naš inventar:

Korištenje dodataka inventara iz Ansible Content Collections u Ansible Toweru

Napominjemo da su stvorene i grupe koje trebamo.

Zaključak

U ovom smo postu pogledali kako koristiti dodatke inventara iz kolekcija u Ansible Toweru koristeći dodatak ServiceNow kao primjer. Također smo sigurno registrirali vjerodajnice za povezivanje s našom instancom ServiceNow. Povezivanje dodatka inventara iz projekta ne funkcionira samo s dodacima treće strane ili prilagođenim dodacima, već se također može koristiti za izmjenu rada nekih standardnih inventara. To čini Ansible Automation Platform jednostavnom i besprijekornom za integraciju s postojećim alatima pri automatizaciji sve složenijih IT okruženja.

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

*Red Hat ne jamči da je ovdje sadržani kod točan. Svi materijali dani su bez odobrenja osim ako nije drugačije izričito navedeno.

Izvor: www.habr.com

Dodajte komentar