Benotzt Inventar Plugins vun Ansible Content Collections am Ansible Tower

IT Ëmfeld ginn ëmmer méi komplex. An dëse Bedéngungen ass et kritesch fir den IT-Automatiséierungssystem aktuell Informatioun iwwer d'Knäppchen ze hunn, déi am Netz präsent sinn an ënnerleien der Veraarbechtung. An der Red Hat Ansible Automation Plattform gëtt dëst Thema duerch de sougenannten Inventar geléist (Stamminventar) - Lëschte vu verwalteten Noden.

Benotzt Inventar Plugins vun Ansible Content Collections am Ansible Tower

A senger einfachster Form ass Inventar eng statesch Datei. Dëst ass ideal wann Dir ufänkt mat Ansible ze schaffen, awer wéi d'Automatiséierung eropgeet, gëtt et net genuch.

A wat hei ass:

  1. Wéi aktualiséieren an ënnerhalen Dir eng komplett Lëscht vun iwwerwaachte Knäppercher wann d'Saachen dauernd änneren, wann d'Aarbechtslaascht - an duerno d'Knäppchen op déi se lafen - kommen a goen?
  2. Wéi klassifizéiere mir d'Komponente vun der IT-Infrastruktur fir spezifesch Noden auswielen fir eng bestëmmte Automatioun z'applizéieren?

Dynamesch Inventar liwwert Äntwerten op béid vun dëse Froen (dynamesch Inventar) - e Skript oder Plugin deen no Noden sicht fir automatiséiert ze ginn, a bezitt sech op d'Quell vun der Wourecht. Zousätzlech klasséiert déi dynamesch Inventar automatesch Noden a Gruppen, sou datt Dir méi präzis Zilsystemer auswielen fir spezifesch Ansible Automatioun ze maachen.

Inventar Plugins gitt dem Ansible Benotzer d'Fäegkeet Zougang zu externe Plattformen fir dynamesch no Zilknäppchen ze sichen an dës Plattformen als Quell vun der Wourecht ze benotzen wann Dir en Inventar erstellt. D'Standard Lëscht vu Quellen an Ansible enthält Cloud Plattformen AWS EC2, Google GCP a Microsoft Azure, an et ginn och vill aner Inventar Plugins fir Ansible.

Ansible Tower kënnt mat enger Zuel vun Inventar Plugins, déi direkt aus der Këscht funktionnéieren an zousätzlech zu den uewe genannte Cloud Plattformen Integratioun mat VMware vCenter, Red Hat OpenStack Plattform a Red Hat Satellite ubidden. Fir dës Plugins musst Dir just Umeldungsinformatiounen ubidden fir mat der Zilplattform ze verbannen, duerno kënnen se als Quell vun Inventardaten am Ansible Tower benotzt ginn.

Zousätzlech zu de Standard Plugins mat Ansible Tower abegraff, ginn et aner Inventar Plugins ënnerstëtzt vun der Ansible Gemeinschaft. Mam Iwwergank zu Red Hat Ansible Inhalt Kollektiounen dës Plugins ugefaang an déi entspriechend Kollektiounen abegraff ginn.

An dësem Post wäerte mir e Beispill huelen fir mam Inventar Plugin fir ServiceNow ze schaffen, eng populär IT Service Management Plattform an där Clienten dacks Informatioun iwwer all hir Apparater an der CMDB späicheren. Zousätzlech kann d'CMDB Kontext enthalen deen nëtzlech ass fir d'Automatiséierung, wéi Informatioun iwwer Serverbesëtzer, Serviceniveauen (Produktioun / Net-Produktioun), installéiert Updates an Ënnerhaltfenster. Den Ansible Inventar Plugin kann mat ServiceNow CMDB schaffen an ass Deel vun der Sammlung Service elo um Portal galaxy.ansible.com.

Git Repository

Fir en Inventar Plugin aus enger Sammlung am Ansible Tower ze benotzen, muss et als Projetquell gesat ginn. Am Ansible Tower ass e Projet eng Integratioun mat enger Aart vu Versiounskontrollsystem, wéi e Git Repository, dee ka benotzt ginn fir net nëmmen Automatisatiounsplaybooks ze synchroniséieren, awer och Variablen an Inventarlëschten.

Eise Repository ass eigentlech ganz einfach:

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

D'servicenow.yml Datei enthält Detailer fir de Plugin Inventar. An eisem Fall spezifizéiere mir einfach d'Tabell an der ServiceNow CMDB déi mir benotze wëllen. Mir setzen och d'Felder déi als Node Variablen bäigefüügt ginn, plus gewësse Informatioun iwwer d'Gruppen déi mir erstellen wëllen.

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

Notéiert w.e.g. datt dëst net d'ServiceNow Instanz spezifizéiert, op déi mir op iergendeng Manéier verbannen, a spezifizéiert keng Umeldungsinformatiounen fir d'Verbindung. Mir konfiguréieren dat alles méi spéit am Ansible Tower.

Fichier Kollektiounen/requirements.yml néideg fir datt den Ansible Tower déi erfuerderlech Sammlung eroflueden kann an domat den erfuerderlechen Inventar Plugin kréien. Soss musse mir dës Sammlung manuell op all eisen Ansible Tower Noden installéieren an erhalen.

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

- name: servicenow.servicenow

Wann mir dës Konfiguratioun op d'Versiounskontroll gedréckt hunn, kënne mir e Projet am Ansible Tower erstellen deen de entspriechende Repository referéiert. D'Beispill hei drënner verbënnt den Ansible Tower zu eisem Github Repository. Opgepasst op d'SCM URL: et erlaabt Iech e Kont ze registréieren fir mat engem privaten Repository ze verbannen, wéi och eng spezifesch Branche, Tag oder Verpflichtung fir ze checken.

Benotzt Inventar Plugins vun Ansible Content Collections am Ansible Tower

Erstellt Umeldungsinformatiounen fir ServiceNow

Wéi erwähnt, enthält d'Konfiguratioun an eisem Repository keng Umeldungsinformatiounen fir mat ServiceNow ze verbannen a spezifizéiert net d'ServiceNow Instanz mat där mir kommunizéieren. Dofir, fir dës Donnéeën ze setzen, kreéiere mir Umeldungsinformatiounen am Ansible Tower. Geméiss ServiceNow Inventar Plugin Dokumentatioun, ginn et eng Rei vun Ëmfeld Variablen mat deenen mir d'Verbindungsparameter setzen, zum Beispill, sou:

= 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

An dësem Fall, wann d'SN_USERNAME Ëmfeld Variabel agestallt ass, benotzt den Inventar Plugin et als Kont fir mat ServiceNow ze verbannen.

Mir mussen och d'SN_INSTANCE an SN_PASSWORD Variabelen astellen.

Wéi och ëmmer, et gi keng Umeldungsinformatiounen vun dësem Typ am Ansible Tower wou Dir dës Donnéeën fir ServiceNow kéint spezifizéieren. Mee Ansible Tower erlaabt eis ze definéieren Benotzerdefinéiert Umeldungsinformatiounen Zorte, Dir kënnt méi iwwer dëst am Artikel liesen "Ansible Tower Feature Spotlight: Benotzerdefinéiert Umeldungsinformatiounen".

An eisem Fall gesäit d'Inputkonfiguratioun fir personaliséiert Umeldungsinformatiounen fir ServiceNow esou aus:

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

Dës Umeldungsinformatiounen ginn als Ëmfeldvariablen mam selwechten Numm ausgesat. Dëst ass an der Injektorkonfiguratioun beschriwwen:

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

Also, mir hunn den Umeldungstyp definéiert dee mir brauchen, elo kënne mir e ServiceNow Kont derbäisetzen an d'Instanz, Benotzernumm a Passwuert setzen, sou:

Benotzt Inventar Plugins vun Ansible Content Collections am Ansible Tower

Mir schafen Inventar

Also, elo si mir all prett fir en Inventar am Ansible Tower ze kreéieren. Loosst eis et ServiceNow nennen:

Benotzt Inventar Plugins vun Ansible Content Collections am Ansible Tower

Nodeems mir den Inventar erstallt hunn, kënne mir eng Datequell derbäi befestigen. Hei spezifizéiere mir de Projet dee mir virdru erstallt hunn a gitt de Wee op eis YAML Inventardatei an der Quellkontrollrepository, an eisem Fall ass et servicenow.yml an der Projektroot. Zousätzlech musst Dir Äre ServiceNow Kont verbannen.

Benotzt Inventar Plugins vun Ansible Content Collections am Ansible Tower

Fir ze kontrolléieren wéi alles funktionnéiert, loosst eis probéieren mat der Datequell ze synchroniséieren andeems Dir op de "Alles synchroniséieren" Knäppchen klickt. Wann alles richteg konfiguréiert ass, da sollten d'Noden an eisen Inventar importéiert ginn:

Benotzt Inventar Plugins vun Ansible Content Collections am Ansible Tower

Maacht weg datt d'Gruppen déi mir brauchen och erstallt goufen.

Konklusioun

An dësem Post hu mir gekuckt wéi Dir Inventar Plugins aus Sammlungen am Ansible Tower benotzt mat dem ServiceNow Plugin als Beispill. Mir hunn och sécher ugemellt Umeldungsinformatiounen fir mat eiser ServiceNow Instanz ze verbannen. D'Verknëppung vun engem Inventar Plugin vun engem Projet funktionnéiert net nëmme mat Drëtt Partei oder personaliséierte Plugins, awer kann och benotzt ginn fir d'Operatioun vun e puer Standardinventar ze änneren. Dëst mécht d'Ansible Automation Plattform einfach an nahtlos fir mat existente Tools z'integréieren wann se ëmmer méi komplex IT Ëmfeld automatiséieren.

Dir kënnt méi Informatioun iwwer d'Themen fannen, déi an dësem Post diskutéiert ginn, souwéi aner Aspekter vum Gebrauch vun Ansible, hei:

* Red Hat mécht keng Garantien datt de Code hei enthale richteg ass. All Material gëtt op engem Net-Bestätegung Basis geliwwert, wann net anescht ausdrécklech uginn.

Source: will.com

Setzt e Commentaire