Utilizà plugins d'inventariu da Ansible Content Collections in Ansible Tower

L'ambienti IT sò diventati sempre più cumplessi. In questi cundizioni, hè criticu per u sistema d'automatizazione di l'informatica per avè infurmazione aghjurnata nantu à i nodi chì sò prisenti in a reta è sottumessi à trasfurmazioni. In u Red Hat Ansible Automation Platform, stu prublema hè risolta attraversu u cusì chjamatu inventariu (Invintariu) - liste di nodi amministrati.

Utilizà plugins d'inventariu da Ansible Content Collections in Ansible Tower

In a so forma più simplice, l'inventariu hè un schedariu staticu. Questu hè ideale quandu avete principiatu à travaglià cù Ansible, ma cum'è l'automatizazione aumenta, diventa insufficiente.

Eccu per quessa:

  1. Cumu aghjurnà è mantene una lista cumpleta di i nodi monitorati quandu e cose cambianu constantemente, quandu i carichi di travagliu - è in seguitu i nodi in cui si currianu - venenu è vanu?
  2. Cumu classificà i cumpunenti di l'infrastruttura IT per selezziunà specificamente i nodi per applicà una automatizazione particulare?

L'inventariu dinamicu furnisce risposte à e duie dumande (inventariu dinamicu) - un script o plugin chì cerca i nodi per esse automatizati, riferite à a fonte di a verità. Inoltre, l'inventariu dinamicu classifica automaticamente i nodi in gruppi in modu chì pudete selezziunà più precisamente i sistemi di destinazione per eseguisce l'automatizazione Ansible specifica.

Plugins d'inventariu dà à l'utilizatore Ansible l'abilità di accede à e plataforme esterne per circà dinamicamente i nodi di destinazione è aduprà sti piattaforme cum'è una fonte di verità quandu creanu un inventariu. A lista standard di fonti in Ansible include e plataforme di nuvola AWS EC2, Google GCP è Microsoft Azure, è ci sò ancu assai altri plugins d'inventariu per Ansible.

Ansible Tower vene cun un numeru di plugins d'inventariu, chì travaglianu ghjustu fora di a scatula è, in più di e plataforme di nuvola elencate sopra, furnisce integrazione cù VMware vCenter, Red Hat OpenStack Platform è Red Hat Satellite. Per questi plugins, avete bisognu di furnisce credenziali per cunnette à a piattaforma di destinazione, dopu chì ponu esse utilizati com'è fonte di dati d'inventariu in Ansible Tower.

In più di i plugins standard inclusi cù Ansible Tower, ci sò altri plugins d'inventariu supportati da a cumunità Ansible. Cù a transizione à Red Hat Ansible Content Collections sti plugins cuminciaru à esse inclusi in e cullezzione currispundenti.

In questu post, avemu da piglià un esempiu di travaglià cù u plugin d'inventariu per ServiceNow, una plataforma di gestione di serviziu di serviziu IT populari in quale i clienti spessu guardanu infurmazione nantu à tutti i so dispositi in u CMDB. Inoltre, u CMDB pò cuntene u cuntestu chì hè utile per l'automatizazione, cum'è l'infurmazioni nantu à i patroni di u servitore, i livelli di serviziu (produzzione / non-produzzione), l'aghjurnamenti installati è e finestre di mantenimentu. U plugin d'inventariu Ansible pò travaglià cù ServiceNow CMDB è hè parti di a cullezzione serviziu avà in u portale galaxy.ansible.com.

Repository Git

Per utilizà un plugin d'inventariu da una cullizzioni in Ansible Tower, deve esse stabilitu cum'è a fonte di u prugettu. In Ansible Tower, un prughjettu hè una integrazione cù un tipu di sistema di cuntrollu di versione, cum'è un repository git, chì pò esse usatu per sincronizà micca solu i playbooks di l'automatizazione, ma ancu variàbili è listi d'inventariu.

U nostru repository hè in realtà assai simplice:

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

U schedariu servicenow.yml cuntene dettagli per l'inventariu di plugin. In u nostru casu, avemu solu specificà a tavula in u ServiceNow CMDB chì vulemu usà. Avemu ancu stabilitu i campi chì seranu aghjuntu cum'è variabili di node, più certe infurmazioni nantu à i gruppi chì vulemu creà.

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

Per piacè nutate chì questu ùn specifica micca l'istanza ServiceNow à quale avemu da cunnette in ogni modu, è ùn specifica micca credenziali per a cunnessione. Cunfiguremu tuttu questu dopu in Ansible Tower.

Cullizzioni di schedari/requirements.yml necessariu per chì Ansible Tower pò scaricà a cullezzione necessaria è cusì ottene u plugin d'inventariu necessariu. Altrimenti, avissimu da installà manualmente è mantene sta cullizzioni in tutti i nostri nodi Ansible Tower.

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

- name: servicenow.servicenow

Una volta avemu imbuttatu sta cunfigurazione à u cuntrollu di versione, pudemu creà un prughjettu in Ansible Tower chì riferisce à u repository currispundente. L'esempiu sottu ligami Ansible Tower à u nostru repository github. Prestate attenzione à l'URL SCM: permette di registrà un contu per cunnette à un repositoriu privatu, è ancu di specificà un ramu specificu, tag o impegnu à verificà.

Utilizà plugins d'inventariu da Ansible Content Collections in Ansible Tower

Creazione di credenziali per ServiceNow

Cumu l'annunziate, a cunfigurazione in u nostru repository ùn cuntene credenziali per cunnette à ServiceNow è ùn specifica micca l'istanza di ServiceNow cù quale avemu da cumunicà. Dunque, per stabilisce queste dati, creeremu credenziali in Ansible Tower. Secondu Documentazione di u plugin d'inventariu ServiceNow, Ci hè una quantità di variabili di l'ambienti cù quale avemu stabilitu i paràmetri di cunnessione, per esempiu, cusì:

= 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

In questu casu, se a variabile di l'ambiente SN_USERNAME hè stabilita, u plugin d'inventariu l'utilizarà cum'è un contu per cunnette à ServiceNow.

Avemu ancu bisognu di stabilisce e variabili SN_INSTANCE è SN_PASSWORD.

Tuttavia, ùn ci sò micca credenziali di stu tipu in Ansible Tower induve puderete specificà questi dati per ServiceNow. Ma Ansible Tower ci permette di definisce tipi di credenziali persunalizati, pudete leghje più nantu à questu in l'articulu "Ansible Tower Feature Spotlight: Credenziali persunalizati".

In u nostru casu, a cunfigurazione di input per credenziali persunalizati per ServiceNow s'assumiglia cusì:

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

Queste credenziali seranu esposte cum'è variabili d'ambiente cù u stessu nome. Questu hè descrittu in a cunfigurazione di l'iniettore:

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

Dunque, avemu definitu u tipu di credenziali chì avemu bisognu, avà pudemu aghjunghje un contu ServiceNow è stabilisce l'istanza, u nome d'utilizatore è a password, cum'è questu:

Utilizà plugins d'inventariu da Ansible Content Collections in Ansible Tower

Creemu inventariu

Dunque, avà simu tutti pronti per creà un inventariu in Ansible Tower. Chjamemu ServiceNow:

Utilizà plugins d'inventariu da Ansible Content Collections in Ansible Tower

Dopu avè creatu l'inventariu, pudemu aghjunghje una fonte di dati. Quì avemu specificatu u prughjettu chì avemu creatu prima è entre in u percorsu à u nostru schedariu d'inventariu YAML in u repositoriu di cuntrollu di fonte, in u nostru casu hè servicenow.yml in a radica di u prughjettu. Inoltre, avete bisognu di ligà u vostru contu ServiceNow.

Utilizà plugins d'inventariu da Ansible Content Collections in Ansible Tower

Per verificà cumu tuttu u travagliu, pruvemu à sincronizà cù a fonte di dati clicchendu u buttone "Sync all". Se tuttu hè cunfiguratu bè, i nodi devenu esse impurtati in u nostru inventariu:

Utilizà plugins d'inventariu da Ansible Content Collections in Ansible Tower

Per piacè nutate chì i gruppi chì avemu bisognu sò stati ancu creati.

cunchiusioni

In questu post, avemu vistu cumu utilizà plugins d'inventariu da cullezzione in Ansible Tower utilizendu u plugin ServiceNow cum'è un esempiu. Avemu ancu registratu credenziali in modu sicuru per cunnette à a nostra istanza ServiceNow. Ligà un plugin d'inventariu da un prughjettu ùn funziona micca solu cù plugins di terzu o customizati, ma pò ancu esse usatu per mudificà l'operazione di certi inventarii standard. Questu rende Ansible Automation Platform faciule è senza soluzione di integrazione cù strumenti esistenti quandu automatizza ambienti IT sempre più cumplessi.

Pudete truvà più infurmazione nantu à i temi discututi in questu post, è ancu altri aspetti di l'usu di Ansible, quì:

* Red Hat ùn assicura micca chì u codice cuntenutu quì hè currettu. Tutti i materiali sò furniti nantu à una basa senza appruvazioni, salvu chì altrimenti espressamente dichjarati.

Source: www.habr.com

Add a comment