Ansible Toweri Ansible Content Collections'i varude pistikprogrammide kasutamine

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 (inventar) – hallatavate sĂ”lmede loendid.

Ansible Toweri Ansible Content Collections'i varude pistikprogrammide kasutamine

Lihtsamal kujul on inventar staatiline fail. See on ideaalne, kui hakkate Ansiblega töötama, kuid automatiseerimise kasvades muutub see ebapiisavaks.

Ja siin on miks:

  1. 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?
  2. Kuidas klassifitseerida IT-infrastruktuuri komponente, et valida konkreetse automatiseerimise rakendamiseks spetsiaalselt sÔlmed?

DĂŒnaamiline inventuur annab vastused mĂ”lemale kĂŒsimusele (dĂŒnaamiline inventuur) – 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.

Varude pistikprogrammid 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 varude pistikprogrammid, 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 Red Hat Ansible sisukogud 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 teenindaja portaalis galaxy.ansible.com.

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.

Failikogud/requirements.yml 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.

Ansible Toweri Ansible Content Collections'i varude pistikprogrammide kasutamine

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 ServiceNow varude pistikprogrammi dokumentatsioon, 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 kohandatud mandaatide tĂŒĂŒbid, saate selle kohta rohkem lugeda artiklist "Ansible Tower Feature Spotlight: kohandatud volikirjad".

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:

Ansible Toweri Ansible Content Collections'i varude pistikprogrammide kasutamine

Loome inventuuri

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

Ansible Toweri Ansible Content Collections'i varude pistikprogrammide kasutamine

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.

Ansible Toweri Ansible Content Collections'i varude pistikprogrammide kasutamine

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:

Ansible Toweri Ansible Content Collections'i varude pistikprogrammide kasutamine

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:

*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

Ostke DDoS-kaitsega saitide jaoks usaldusvÀÀrne hostimine, VPS VDS-serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega, VPS VDS serverid | ProHoster