IT-keskkonnad muutuvad jĂ€rjest keerukamaks. Nendes tingimustes on IT automatiseerimissĂŒsteemi jaoks ĂŒlioluline vĂ€rske teabe olemasolu vĂ”rgus olevate ja töödeldavate sĂ”lmede kohta. Red Hat Ansible Automation Platformis lahendatakse see probleem lĂ€bi nn inventuuri () â hallatavate sĂ”lmede loendid.

Lihtsamal kujul on inventar staatiline fail. See on ideaalne, kui hakkate Ansiblega töötama, kuid automatiseerimise kasvades muutub see ebapiisavaks.
Ja siin on miks:
- Kuidas vÀrskendada ja sÀilitada jÀlgitavate sÔlmede tÀielikku loendit, kui asjad muutuvad pidevalt, kui töökoormused ja seejÀrel ka sÔlmed, millel need töötavad, tulevad ja lÀhevad?
- Kuidas klassifitseerida IT-infrastruktuuri komponente, et valida konkreetse automatiseerimise rakendamiseks spetsiaalselt sÔlmed?
DĂŒnaamiline inventuur annab vastused mĂ”lemale kĂŒsimusele () â skript vĂ”i plugin, mis otsib sĂ”lmpunkte, mida automatiseerida, viidates tĂ”e allikale. Lisaks liigitab dĂŒnaamiline inventuur sĂ”lmed automaatselt rĂŒhmadesse, et saaksite konkreetse Ansible automatiseerimise teostamiseks sihtsĂŒsteeme tĂ€psemalt valida.
anda Ansible'i kasutajale vĂ”imalus pÀÀseda juurde vĂ€listele platvormidele, et dĂŒnaamiliselt sihtsĂ”lmi otsida ja kasutada neid platvorme inventuuri loomisel tĂ”eallikana. Ansible'i standardne allikate loend sisaldab pilveplatvorme AWS EC2, Google GCP ja Microsoft Azure, samuti on Ansible jaoks palju muid varude pistikprogramme.
Ansible Toweriga on kaasas mitmeid , mis töötavad kohe karbist vĂ€lja vĂ”ttes ja pakuvad lisaks ĂŒlaltoodud pilveplatvormidele integratsiooni VMware vCenteri, Red Hat OpenStack Platformi ja Red Hat Satellite'iga. Nende pistikprogrammide jaoks peate lihtsalt esitama sihtplatvormiga ĂŒhenduse loomiseks mandaadid, misjĂ€rel saab neid kasutada Ansible Toweri laoandmete allikana.
Lisaks Ansible Toweriga kaasasolevatele standardsetele pistikprogrammidele on Ansible'i kogukonna toetatud ka teisi varude pistikprogramme. Ăleminekuga neid pluginaid hakati kaasama vastavatesse kogudesse.
Selles postituses toome nÀite, kuidas töötada koos populaarse IT-teenuste haldusplatvormi ServiceNow varude pistikprogrammiga, kus kliendid salvestavad sageli teavet kÔigi oma seadmete kohta CMDB-s. Lisaks vÔib CMDB sisaldada automatiseerimiseks kasulikku konteksti, nÀiteks teavet serverite omanike, teenusetasemete (tootmine/mittetootmine), installitud vÀrskenduste ja hooldusakende kohta. Ansible inventari pistikprogramm vÔib töötada koos ServiceNow CMDB-ga ja on osa kogust portaalis .
Giti hoidla
Ansible Toweri kogust pĂ€rineva varude pistikprogrammi kasutamiseks tuleb see mÀÀrata projekti allikaks. Ansible Toweris on projekt integratsioon mingi versioonihaldussĂŒsteemiga, nĂ€iteks git-hoidlaga, mida saab kasutada mitte ainult automatiseerimise kĂ€siraamatute, vaid ka muutujate ja varude loendite sĂŒnkroonimiseks.
Meie hoidla on tegelikult vÀga lihtne:
âââ collections
â âââ requirements.yml
âââ servicenow.yml
Fail servicenow.yml sisaldab pistikprogrammide loendi ĂŒksikasju. Meie puhul mÀÀrame lihtsalt ServiceNow CMDB-s tabeli, mida tahame kasutada. Seadistame ka vĂ€ljad, mis lisatakse sĂ”lme muutujatena, pluss teatud teabe rĂŒhmade kohta, mida tahame luua.
$ 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: ''
Pange tĂ€hele, et see ei mÀÀra mingil viisil ServiceNow eksemplari, millega me ĂŒhenduse loome, ega mÀÀra ĂŒhenduse loomiseks mandaate. Seda kĂ”ike konfigureerime hiljem Ansible Toweris.
vajalik selleks, et Ansible Tower saaks vajaliku kollektsiooni alla laadida ja seelÀbi vajaliku varude pistikprogrammi hankida. Vastasel juhul peaksime selle kollektsiooni kÔigisse Ansible Toweri sÔlmedesse kÀsitsi installima ja hooldama.
$ cat collections/requirements.yml
---
collections:
- name: servicenow.servicenow
Kui oleme selle konfiguratsiooni versioonihaldusse viinud, saame Ansible Toweris luua projekti, mis viitab vastavale hoidlale. Allolev nĂ€ide seob Ansible Toweri meie githubi hoidlaga. Pöörake tĂ€helepanu SCM-i URL-ile: see vĂ”imaldab teil registreerida konto privaatse hoidlaga ĂŒhenduse loomiseks, samuti mÀÀrata konkreetne haru, silt vĂ”i vĂ€ljamaksekohustus.

Mandaatide loomine teenuse ServiceNow jaoks
Nagu mainitud, ei sisalda meie hoidla konfiguratsioon teenusega ServiceNow ĂŒhenduse loomiseks mandaate ega mÀÀra ServiceNow eksemplari, millega me suhtleme. SeetĂ”ttu loome nende andmete mÀÀramiseks Ansible Toweris mandaadid. Vastavalt , on mitmeid keskkonnamuutujaid, millega mÀÀrame ĂŒhenduse parameetrid, nĂ€iteks jĂ€rgmiselt:
= 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
Sel juhul, kui keskkonnamuutuja SN_USERNAME on mÀÀratud, kasutab varude pistikprogramm seda teenusega ServiceNow ĂŒhenduse loomiseks kontona.
Peame mÀÀrama ka muutujad SN_INSTANCE ja SN_PASSWORD.
Ansible Toweris pole aga seda tĂŒĂŒpi mandaate, kus saaksite ServiceNow jaoks need andmed mÀÀrata. Kuid Ansible Tower vĂ”imaldab meil mÀÀratleda , saate selle kohta rohkem lugeda artiklist .
Meie puhul nÀeb ServiceNow kohandatud mandaatide sisendkonfiguratsioon vÀlja jÀrgmine:
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
Need mandaadid avaldatakse sama nimega keskkonnamuutujatena. Seda on kirjeldatud pihusti konfiguratsioonis:
env:
SN_INSTANCE: '{{ SN_INSTANCE }}'
SN_PASSWORD: '{{ SN_PASSWORD }}'
SN_USERNAME: '{{ SN_USERNAME }}'
Niisiis, oleme mÀÀratlenud vajaliku mandaadi tĂŒĂŒbi, nĂŒĂŒd saame lisada ServiceNow konto ja mÀÀrata eksemplari, kasutajanime ja parooli jĂ€rgmiselt:

Loome inventuuri
NĂŒĂŒd oleme kĂ”ik valmis Ansible Toweris inventuuri looma. Nimetagem seda ServiceNow'ks:

PÀrast inventuuri loomist saame sellele lisada andmeallika. Siin tÀpsustame varem loodud projekti ja sisestame oma YAML-i laofaili tee allika juhthoidlasse, meie puhul on see projekti juures servicenow.yml. Lisaks peate linkima oma ServiceNow konto.

Et kontrollida, kuidas kĂ”ik toimib, proovime sĂŒnkroonida andmeallikaga, klĂ”psates nuppu âSĂŒnkrooni kĂ”ikâ. Kui kĂ”ik on Ă”igesti konfigureeritud, tuleks sĂ”lmed importida meie loendisse:

Pange tĂ€hele, et loodud on ka meile vajalikud rĂŒhmad.
JĂ€reldus
Selles postituses vaatlesime, kuidas kasutada Ansible Toweri kogude varude pistikprogramme, kasutades nĂ€itena ServiceNow pistikprogrammi. Samuti registreerisime meie ServiceNow eksemplariga ĂŒhenduse loomiseks turvaliselt mandaadid. Varude pistikprogrammi linkimine projektist ei tööta mitte ainult kolmanda osapoole vĂ”i kohandatud pistikprogrammidega, vaid seda saab kasutada ka mĂ”ne standardse varude toimimise muutmiseks. See muudab Ansible Automation Platformi hĂ”lpsaks ja sujuvaks integreerimise olemasolevate tööriistadega ĂŒha keerukamaks muutuvate IT-keskkondade automatiseerimisel.
Lisateavet selles postituses kÀsitletud teemade ja muude Ansible kasutamise aspektide kohta leiate siit:
- Blogi autor .
- .
- Red Hati toetatud kollektsioonide loend Automation Hubi veebisaidil ().
- .
*Red Hat ei garanteeri, et siin sisalduv kood on Ôige. KÔik materjalid esitatakse kinnituseta, kui pole selgesÔnaliselt mÀrgitud teisiti.
Allikas: www.habr.com
