Sèvi ak grefon envantè ki soti nan Ansible Content Collections nan Ansible Tower

Anviwònman IT yo ap vin pi plis ak plis konplèks. Nan kondisyon sa yo, li enpòtan pou sistèm automatisation IT a gen enfòmasyon ajou sou nœuds ki prezan nan rezo a epi ki sijè a tretman. Nan Red Hat Ansible Automation Platform, pwoblèm sa a rezoud atravè sa yo rele envantè a (envantè) - lis nœuds jere.

Sèvi ak grefon envantè ki soti nan Ansible Content Collections nan Ansible Tower

Nan fòm ki pi senp li yo, envantè se yon fichye estatik. Sa a se ideyal lè ou kòmanse travay ak Ansible, men kòm automatisation ogmante, li vin ensifizan.

Ak isit la se poukisa:

  1. Ki jan ou mete ajou epi kenbe yon lis konplè nan nœuds kontwole lè bagay yo toujou ap chanje, lè kantite travay-e answit nœuds yo kouri sou yo-vin ale?
  2. Ki jan yo klase eleman yo nan enfrastrikti IT yo nan lòd yo espesyalman chwazi nœuds pou aplike yon automatisation patikilye?

Envantè dinamik bay repons pou tou de kesyon sa yo (envantè dinamik) - yon script oswa plugin ki chèche nœuds yo dwe otomatize, refere li a sous la nan verite. Anplis de sa, envantè dinamik la otomatikman klase nœuds an gwoup pou ou ka chwazi pi presizyon sistèm sib pou fè espesifik automatisation Ansible.

Plugins envantè bay itilizatè Ansible a kapasite pou jwenn aksè nan platfòm ekstèn pou fè rechèch dinamik pou nœuds sib epi sèvi ak platfòm sa yo kòm yon sous verite lè w ap kreye yon envantè. Lis estanda sous nan Ansible gen ladan platfòm nwaj AWS EC2, Google GCP ak Microsoft Azure, epi gen anpil lòt grefon envantè pou Ansible.

Ansible Tower vini ak yon kantite grefon envantè, ki travay soti nan bwat la epi, anplis de platfòm nwaj ki nan lis pi wo a, bay entegrasyon ak VMware vCenter, Red Hat OpenStack Platform ak Red Hat Satellite. Pou grefon sa yo, ou jis bezwen bay kalifikasyon yo konekte ak platfòm la sib, apre sa yo ka itilize kòm yon sous done envantè nan Ansible Tower.

Anplis de grefon estanda ki enkli ak Ansible Tower, gen lòt grefon envantè ki sipòte pa kominote a Ansible. Avèk tranzisyon an nan Red Hat Ansible Content Collections grefon sa yo te kòmanse enkli nan koleksyon korespondan yo.

Nan pòs sa a, nou pral pran yon egzanp travay ak Plugin envantè pou ServiceNow, yon platfòm jesyon sèvis IT popilè kote kliyan yo souvan estoke enfòmasyon sou tout aparèy yo nan CMDB la. Anplis de sa, CMDB a ka genyen yon kontèks ki itil pou automatisation, tankou enfòmasyon sou mèt sèvè, nivo sèvis (pwodiksyon/ki pa pwodiksyon), mizajou enstale, ak fenèt antretyen. Plugin envantè Ansible a ka travay avèk ServiceNow CMDB epi li fè pati koleksyon an sèvis kounye a sou pòtal la galaxy.ansible.com.

Git depo

Pou itilize yon plugin envantè ki soti nan yon koleksyon nan Ansible Tower, li dwe mete kòm sous pwojè a. Nan Ansible Tower, yon pwojè se yon entegrasyon ak kèk kalite sistèm kontwòl vèsyon, tankou yon depo git, ki ka itilize pou senkronize pa sèlman liv automatisation, men tou, varyab ak lis envantè.

Depo nou an aktyèlman trè senp:

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

Fichye servicenow.yml a gen detay pou envantè plugin a. Nan ka nou an, nou tou senpleman presize tab la nan ServiceNow CMDB ke nou vle itilize. Nou menm tou nou mete jaden yo ki pral ajoute kòm varyab ne, plis sèten enfòmasyon sou gwoup yo ke nou vle kreye.

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

Tanpri sonje ke sa a pa presize egzanp ServiceNow kote nou pral konekte nan nenpòt fason, epi li pa presize okenn kalifikasyon pou koneksyon. Nou pral configured tout bagay sa yo pita nan Ansible Tower.

File collections/requirements.yml nesesè pou Ansible Tower ka telechaje koleksyon obligatwa a epi kidonk jwenn plugin envantè ki nesesè yo. Sinon, nou ta dwe manyèlman enstale epi kenbe koleksyon sa a sou tout nœuds Ansible Tower nou yo.

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

- name: servicenow.servicenow

Yon fwa nou te pouse konfigirasyon sa a nan kontwòl vèsyon, nou ka kreye yon pwojè nan Ansible Tower ki fè referans a depo korespondan an. Egzanp ki anba a lye Ansible Tower ak depo Github nou an. Peye atansyon sou URL SCM la: li pèmèt ou anrejistre yon kont pou konekte avèk yon depo prive, epi tou presize yon branch espesifik, tag oswa komèt tcheke deyò.

Sèvi ak grefon envantè ki soti nan Ansible Content Collections nan Ansible Tower

Kreye kalifikasyon pou ServiceNow

Kòm mansyone, konfigirasyon an nan repozitwa nou an pa gen kalifikasyon yo konekte ak ServiceNow epi li pa presize egzanp ServiceNow ak ki nou pral kominike. Se poutèt sa, pou mete done sa yo, nou pral kreye kalifikasyon nan Ansible Tower. Dapre Dokimantasyon Plugin envantè ServiceNow, gen yon kantite varyab anviwònman ak ki nou pral mete paramèt koneksyon yo, pou egzanp, tankou sa a:

= 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

Nan ka sa a, si yo mete varyab anviwònman SN_USERNAME, plugin envantè a pral sèvi ak li kòm yon kont pou konekte avèk ServiceNow.

Nou bezwen tou mete varyab SN_INSTANCE ak SN_PASSWORD.

Sepandan, pa gen okenn kalifikasyon kalite sa a nan Ansible Tower kote ou ta ka presize done sa yo pou ServiceNow. Men, Ansible Tower pèmèt nou defini kalite kalifikasyon koutim, ou ka li plis sou sa a nan atik la "Ansible Tower Feature Spotlight: Custom Credentials".

Nan ka nou an, konfigirasyon opinyon pou kalifikasyon koutim pou ServiceNow sanble sa a:

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

Kalifikasyon sa yo pral ekspoze kòm varyab anviwònman ak menm non an. Sa a se dekri nan konfigirasyon an injektè:

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

Se konsa, nou te defini kalite kalifikasyon nou bezwen an, kounye a nou ka ajoute yon kont ServiceNow epi mete egzanp lan, non itilizatè ak modpas, tankou sa a:

Sèvi ak grefon envantè ki soti nan Ansible Content Collections nan Ansible Tower

Nou kreye envantè

Se konsa, kounye a nou tout pare yo kreye yon envantè nan Ansible Tower. Ann rele li ServiceNow:

Sèvi ak grefon envantè ki soti nan Ansible Content Collections nan Ansible Tower

Apre kreye envantè a, nou ka tache yon sous done sou li. Isit la nou presize pwojè a nou te kreye pi bonè epi antre nan chemen an nan dosye envantè YAML nou an nan depo kontwòl sous la, nan ka nou an li se servicenow.yml nan rasin pwojè a. Anplis de sa, ou bezwen konekte kont ServiceNow ou a.

Sèvi ak grefon envantè ki soti nan Ansible Content Collections nan Ansible Tower

Pou tcheke kijan tout bagay ap fonksyone, ann eseye senkronize ak sous done a lè w klike sou bouton "Sync all". Si tout bagay konfigirasyon kòrèkteman, Lè sa a, nœuds yo ta dwe enpòte nan envantè nou an:

Sèvi ak grefon envantè ki soti nan Ansible Content Collections nan Ansible Tower

Tanpri sonje ke gwoup nou bezwen yo te kreye tou.

Konklizyon

Nan pòs sa a, nou te gade ki jan yo sèvi ak grefon envantè ki soti nan koleksyon nan Ansible Tower lè l sèvi avèk Plugin ServiceNow la kòm yon egzanp. Nou menm tou nou anrejistre kalifikasyon an sekirite pou konekte avèk egzanp ServiceNow nou an. Lyen yon Plugin envantè ki soti nan yon pwojè travay pa sèlman ak yon twazyèm pati oswa grefon koutim, men yo ka itilize tou pou modifye operasyon an nan kèk envantè estanda. Sa fè Ansible Automation Platform fasil ak san pwoblèm pou entegre ak zouti ki egziste deja lè otomatize anviwònman IT de pli zan pli konplèks.

Ou ka jwenn plis enfòmasyon sou sijè yo diskite nan pòs sa a, osi byen ke lòt aspè nan itilize Ansible, isit la:

*Red Hat pa bay okenn garanti ke kòd ki nan la a kòrèk. Tout materyèl yo bay sou yon baz ki pa andòsman sòf si otreman di ekspreseman.

Sous: www.habr.com

Add nouvo kòmantè