Përdorimi i shtojcave të inventarit nga Koleksionet e Përmbajtjes Ansible në Ansible Tower

Mjediset e TI-së po bëhen gjithnjë e më komplekse. Në këto kushte, është kritike që sistemi i automatizimit të IT të ketë informacion të përditësuar për nyjet që janë të pranishme në rrjet dhe që i nënshtrohen përpunimit. Në Platformën e Automatizimit Ansible Red Hat, kjo çështje zgjidhet përmes të ashtuquajturit inventar (inventar) – listat e nyjeve të menaxhuara.

Përdorimi i shtojcave të inventarit nga Koleksionet e Përmbajtjes Ansible në Ansible Tower

Në formën e tij më të thjeshtë, inventari është një skedar statik. Kjo është ideale kur filloni të punoni me Ansible, por ndërsa automatizimi rritet, ai bëhet i pamjaftueshëm.

Dhe këtu është arsyeja pse:

  1. Si e përditësoni dhe mbani një listë të plotë të nyjeve të monitoruara kur gjërat ndryshojnë vazhdimisht, kur ngarkesat e punës - dhe më pas nyjet në të cilat funksionojnë - vijnë dhe shkojnë?
  2. Si të klasifikoni komponentët e infrastrukturës së TI-së në mënyrë që të zgjidhni në mënyrë specifike nyjet për aplikimin e një automatizimi të veçantë?

Inventari dinamik jep përgjigje për të dyja këto pyetje (inventari dinamik) – një skript ose shtojcë që kërkon nyjet që do të automatizohen, duke iu referuar burimit të së vërtetës. Përveç kësaj, inventari dinamik klasifikon automatikisht nyjet në grupe në mënyrë që të mund të zgjidhni më saktë sistemet e synuara për kryerjen e automatizimit specifik të Ansible.

Shtojcat e inventarit i jep përdoruesit Ansible mundësinë për të hyrë në platforma të jashtme për të kërkuar në mënyrë dinamike për nyjet e synuara dhe për t'i përdorur këto platforma si burim të së vërtetës kur krijon një inventar. Lista standarde e burimeve në Ansible përfshin platformat cloud AWS EC2, Google GCP dhe Microsoft Azure, dhe ka gjithashtu shumë shtojca të tjera të inventarit për Ansible.

Ansible Tower vjen me një numër të shtojcat e inventarit, të cilat funksionojnë menjëherë dhe, përveç platformave cloud të listuara më sipër, ofrojnë integrim me VMware vCenter, Red Hat OpenStack Platform dhe Red Hat Satellite. Për këto shtojca, ju vetëm duhet të siguroni kredencialet për t'u lidhur me platformën e synuar, pas së cilës ato mund të përdoren si burim i të dhënave të inventarit në Ansible Tower.

Përveç shtojcave standarde të përfshira me Ansible Tower, ka shtojca të tjera të inventarit të mbështetur nga komuniteti Ansible. Me kalimin në Koleksionet e Përmbajtjes Ansible Red Hat këto shtojca filluan të përfshihen në koleksionet përkatëse.

Në këtë postim, ne do të marrim një shembull të punës me shtojcën e inventarit për ServiceNow, një platformë popullore e menaxhimit të shërbimit IT në të cilën klientët shpesh ruajnë informacione për të gjitha pajisjet e tyre në CMDB. Përveç kësaj, CMDB mund të përmbajë kontekst që është i dobishëm për automatizimin, të tilla si informacione për pronarët e serverëve, nivelet e shërbimit (prodhimi/jo-prodhimi), përditësimet e instaluara dhe dritaret e mirëmbajtjes. Shtojca e inventarit Ansible mund të funksionojë me ServiceNow CMDB dhe është pjesë e koleksionit shërbim në portalin galaxy.ansible.com.

Depoja e Git

Për të përdorur një shtesë të inventarit nga një koleksion në Ansible Tower, ajo duhet të vendoset si burimi i projektit. Në Ansible Tower, një projekt është një integrim me një lloj sistemi të kontrollit të versioneve, si një depo git, e cila mund të përdoret për të sinkronizuar jo vetëm librat e lojërave të automatizimit, por edhe variabla dhe lista të inventarit.

Depoja jonë është në fakt shumë e thjeshtë:

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

Skedari servicenow.yml përmban detaje për inventarin e shtojcave. Në rastin tonë, ne thjesht specifikojmë tabelën në ServiceNow CMDB që duam të përdorim. Ne gjithashtu vendosëm fushat që do të shtohen si variabla të nyjeve, plus informacione të caktuara për grupet që duam të krijojmë.

$ 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: ''

Ju lutemi vini re se kjo nuk specifikon shembullin ServiceNow me të cilin do të lidhemi në asnjë mënyrë dhe nuk specifikon asnjë kredenciale për lidhje. Të gjitha këto do t'i konfigurojmë më vonë në Ansible Tower.

Koleksionet/kërkesat e skedarëve.yml nevojiten në mënyrë që Ansible Tower të mund të shkarkojë koleksionin e kërkuar dhe në këtë mënyrë të marrë shtojcën e kërkuar të inventarit. Përndryshe, do të na duhej ta instalonim dhe ta mirëmbajmë manualisht këtë koleksion në të gjitha nyjet tona Ansible Tower.

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

- name: servicenow.servicenow

Pasi ta kemi shtyrë këtë konfigurim në kontrollin e versionit, ne mund të krijojmë një projekt në Ansible Tower që i referohet depove përkatëse. Shembulli më poshtë lidh Ansible Tower me depon tonë të github. Kushtojini vëmendje URL-së SCM: ju lejon të regjistroni një llogari për t'u lidhur me një depo private, si dhe të specifikoni një degë specifike, etiketë ose të angazhoheni për të kontrolluar.

Përdorimi i shtojcave të inventarit nga Koleksionet e Përmbajtjes Ansible në Ansible Tower

Krijimi i kredencialeve për ServiceNow

Siç u përmend, konfigurimi në depon tonë nuk përmban kredenciale për t'u lidhur me ServiceNow dhe nuk specifikon shembullin e ServiceNow me të cilin do të komunikojmë. Prandaj, për të vendosur këto të dhëna, ne do të krijojmë kredencialet në Ansible Tower. Sipas Dokumentacioni i shtojcave të inventarit ServiceNow, ka një numër variablash mjedisi me të cilët do të vendosim parametrat e lidhjes, për shembull, si kjo:

= 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

Në këtë rast, nëse ndryshorja e mjedisit SN_USERNAME është caktuar, shtojca e inventarit do ta përdorë atë si një llogari për t'u lidhur me ServiceNow.

Ne gjithashtu duhet të vendosim variablat SN_INSTANCE dhe SN_PASSWORD.

Megjithatë, nuk ka kredenciale të këtij lloji në Ansible Tower ku mund t'i specifikoni këto të dhëna për ServiceNow. Por Ansible Tower na lejon të përcaktojmë llojet e kredencialeve me porosi, mund të lexoni më shumë rreth kësaj në artikull "Asible Tower Feature Spotlight: Kredencialet e personalizuara".

Në rastin tonë, konfigurimi i hyrjes për kredencialet e personalizuara për ServiceNow duket si ky:

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

Këto kredenciale do të ekspozohen si variabla të mjedisit me të njëjtin emër. Kjo përshkruhet në konfigurimin e injektorit:

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

Pra, ne kemi përcaktuar llojin e kredencialit që na nevojitet, tani mund të shtojmë një llogari ServiceNow dhe të vendosim shembullin, emrin e përdoruesit dhe fjalëkalimin, si kjo:

Përdorimi i shtojcave të inventarit nga Koleksionet e Përmbajtjes Ansible në Ansible Tower

Ne krijojmë inventar

Pra, tani të gjithë jemi gati të krijojmë një inventar në Ansible Tower. Le ta quajmë Shërbimi Tani:

Përdorimi i shtojcave të inventarit nga Koleksionet e Përmbajtjes Ansible në Ansible Tower

Pas krijimit të inventarit, ne mund t'i bashkëngjitni atij një burim të dhënash. Këtu ne specifikojmë projektin që krijuam më herët dhe futim shtegun për në skedarin tonë të inventarit YAML në depon e kontrollit të burimit, në rastin tonë është servicenow.yml në rrënjën e projektit. Përveç kësaj, ju duhet të lidhni llogarinë tuaj ServiceNow.

Përdorimi i shtojcave të inventarit nga Koleksionet e Përmbajtjes Ansible në Ansible Tower

Për të kontrolluar se si funksionon gjithçka, le të përpiqemi të sinkronizojmë me burimin e të dhënave duke klikuar butonin "Sinkronizoni të gjitha". Nëse gjithçka është konfiguruar saktë, atëherë nyjet duhet të importohen në inventarin tonë:

Përdorimi i shtojcave të inventarit nga Koleksionet e Përmbajtjes Ansible në Ansible Tower

Ju lutemi vini re se grupet që na duhen janë krijuar gjithashtu.

Përfundim

Në këtë postim, ne shikuam se si të përdorim shtojcat e inventarit nga koleksionet në Ansible Tower duke përdorur si shembull shtojcën ServiceNow. Ne gjithashtu kemi regjistruar në mënyrë të sigurt kredencialet për t'u lidhur me shembullin tonë të ServiceNow. Lidhja e një shtojce të inventarit nga një projekt funksionon jo vetëm me shtojca të palëve të treta ose të personalizuara, por mund të përdoret gjithashtu për të modifikuar funksionimin e disa inventareve standarde. Kjo e bën platformën Ansible Automation të lehtë dhe pa probleme për t'u integruar me mjetet ekzistuese kur automatizon mjedise gjithnjë e më komplekse të IT.

Mund të gjeni më shumë informacion mbi temat e diskutuara në këtë postim, si dhe aspekte të tjera të përdorimit të Ansible, këtu:

*Red Hat nuk garanton që kodi i përfshirë këtu është i saktë. Të gjitha materialet ofrohen mbi bazën e mosmiratimit, përveç rasteve kur shprehet ndryshe.

Burimi: www.habr.com

Shto një koment