Ansible Tower-en Ansible Content Collections-en inbentario-pluginak erabiltzea

IT inguruneak gero eta konplexuagoak dira. Baldintza horietan, funtsezkoa da informatika-sistemak sarean dauden eta prozesatzeko gai diren nodoei buruzko informazio eguneratua izatea. Red Hat Ansible Automation Platform-en, arazo hau inbentarioa deritzonaren bidez konpontzen da (inbentarioa) – kudeatutako nodoen zerrendak.

Ansible Tower-en Ansible Content Collections-en inbentario-pluginak erabiltzea

Forma sinpleenean, inbentarioa fitxategi estatiko bat da. Hau aproposa da Ansiblerekin lanean hasten zarenean, baina automatizazioa handitzen den heinean, nahikoa ez da.

Eta hemen zergatik:

  1. Nola eguneratu eta mantentzen duzu kontrolatutako nodoen zerrenda osoa, gauzak etengabe aldatzen ari direnean, lan-kargak β€”eta, ondoren, exekutatzen dituzten nodoakβ€” joaten direnean?
  2. Nola sailkatu IT azpiegituraren osagaiak automatizazio jakin bat aplikatzeko nodoak zehazki hautatzeko?

Inbentario dinamikoak bi galdera hauei erantzunak ematen dizkie (inbentario dinamikoa) – automatizatu beharreko nodoak bilatzen dituen script edo plugina, egiaren iturriari erreferentzia eginez. Horrez gain, inbentario dinamikoak automatikoki sailkatzen ditu nodoak taldetan, Ansible automatizazio espezifikoa egiteko xede-sistemak zehatzago hauta ditzazun.

Inbentarioaren pluginak eman Ansible erabiltzaileari kanpoko plataformetara sartzeko aukera dinamikoki xede-nodoak bilatzeko eta plataforma horiek egia iturri gisa erabiltzeko inbentario bat sortzerakoan. Ansible-ko iturrien zerrenda estandarrak AWS EC2, Google GCP eta Microsoft Azure hodeiko plataformak biltzen ditu, eta Ansiblerako beste inbentario-plugin batzuk ere badaude.

Ansible Tower hainbat zenbakirekin dator inbentario-pluginak, kutxatik kanpo funtzionatzen dutenak eta, goian zerrendatutako hodei-plataformez gain, VMware vCenter, Red Hat OpenStack Platform eta Red Hat Satellite-rekin integrazioa eskaintzen dute. Plugin hauetarako, xede-plataformara konektatzeko kredentzialak ematea besterik ez duzu behar, eta ondoren Ansible Tower-en inbentario-datuen iturri gisa erabil daitezke.

Ansible Tower-ekin batera sartzen diren plugin estandarrez gain, Ansible komunitateak onartzen dituen inbentarioko beste plugin batzuk ere badaude. Trantsizioarekin Red Hat Ansible eduki bildumak plugin hauek dagozkien bildumetan sartzen hasi ziren.

Argitalpen honetan, ServiceNow-en inbentario-pluginarekin lan egitearen adibide bat hartuko dugu, IT zerbitzuen kudeaketa-plataforma ezagun bat, non bezeroek maiz gordetzen duten beren gailu guztiei buruzko informazioa CMDB-n. Horrez gain, CMDBak automatizaziorako erabilgarria den testuingurua izan dezake, hala nola zerbitzarien jabeei, zerbitzu-mailei (ekoizpena/ez-ekoizpena), instalatutako eguneratzeak eta mantentze-leihoei buruzko informazioa. Ansible inbentarioaren pluginak ServiceNow CMDB-rekin lan egin dezake eta bildumaren parte da Zerbitzu berria atarian galaxy.ansible.com.

Git biltegia

Ansible Tower-eko bilduma bateko inbentario-plugin bat erabiltzeko, proiektuaren iturburu gisa ezarri behar da. Ansible Tower-en, proiektu bat bertsioak kontrolatzeko sistemaren bat da, git biltegi bat bezalakoa, automatizazio-liburuak ez ezik, aldagaiak eta inbentario-zerrendak ere sinkronizatzeko erabil daitekeena.

Gure biltegia benetan oso erraza da:

β”œβ”€β”€ collections
β”‚   └── requirements.yml
└── servicenow.yml

Servicenow.yml fitxategiak pluginen inbentarioaren xehetasunak ditu. Gure kasuan, erabili nahi dugun ServiceNow CMDB-n taula zehaztu besterik ez dugu. Nodo-aldagai gisa gehituko diren eremuak ere ezarri ditugu, gehi sortu nahi ditugun taldeei buruzko zenbait informazio.

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

Kontuan izan honek ez duela inola ere konektatuko garen ServiceNow instantzia zehazten, eta ez duela konexiorako kredentzialrik zehazten. Hori guztia geroago konfiguratuko dugu Ansible Tower-en.

Fitxategi bildumak/requirements.yml beharrezkoa da, Ansible Tower-ek beharrezko bilduma deskargatu ahal izateko eta, horrela, beharrezko inbentarioaren plugina lor dezan. Bestela, bilduma hau eskuz instalatu eta mantendu beharko genuke gure Ansible Tower nodo guztietan.

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

- name: servicenow.servicenow

Behin konfigurazio hau bertsio-kontrolera bultzatu dugunean, dagokion biltegiari erreferentzia egiten dion proiektu bat sor dezakegu Ansible Tower-en. Beheko adibideak Ansible Tower gure github biltegiarekin lotzen du. Erreparatu SCM URLari: kontu bat erregistratzeko aukera ematen du biltegi pribatu batera konektatzeko, baita adar, etiketa edo konpromezu zehatz bat zehaztu ere.

Ansible Tower-en Ansible Content Collections-en inbentario-pluginak erabiltzea

ServiceNow-rako kredentzialak sortzea

Esan bezala, gure biltegiko konfigurazioak ez du ServiceNow-era konektatzeko kredentzialak eta ez du zehazten zein den ServiceNow-en instantzia zein den komunikatuko garen. Horregatik, datu hauek ezartzeko, kredentzialak sortuko ditugu Ansible Tower-en. Ren arabera ServiceNow inbentarioaren pluginaren dokumentazioa, konexio-parametroak ezarriko ditugun ingurune-aldagai batzuk daude, adibidez, honela:

= 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

Kasu honetan, SN_USERNAME ingurune-aldagaia ezartzen bada, inbentario-pluginak kontu gisa erabiliko du ServiceNow-era konektatzeko.

SN_INSTANCE eta SN_PASSWORD aldagaiak ere ezarri behar ditugu.

Hala ere, ez dago mota honetako kredentzialrik Ansible Tower-en, non ServiceNow-erako datu hauek zehaztu ditzakezun. Baina Ansible Tower-ek definitzeko aukera ematen digu kredentzial mota pertsonalizatuak, honi buruzko informazio gehiago irakurri dezakezu artikuluan "Ansible Tower Feature Spotlight: Kredentzial pertsonalizatuak".

Gure kasuan, ServiceNow-en kredentzial pertsonalizatuen sarrerako konfigurazioa honelakoa da:

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

Kredentzial hauek izen bereko ingurune-aldagai gisa agertuko dira. Hau injektorearen konfigurazioan deskribatzen da:

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

Beraz, behar dugun kredentzial mota definitu dugu, orain ServiceNow kontu bat gehi dezakegu eta instantzia, erabiltzaile-izena eta pasahitza ezarri, honela:

Ansible Tower-en Ansible Content Collections-en inbentario-pluginak erabiltzea

Inbentarioa sortzen dugu

Beraz, orain denok prest gaude Ansible Tower-en inbentario bat sortzeko. Dei diezaiogun ServiceNow:

Ansible Tower-en Ansible Content Collections-en inbentario-pluginak erabiltzea

Inbentarioa sortu ondoren, datu-iturburu bat erantsi diezaiokegu. Hemen lehenago sortu dugun proiektua zehazten dugu eta gure YAML inbentario fitxategirako bidea sartzen dugu iturburu-kontroleko biltegian, gure kasuan servicenow.yml da proiektuaren erroan. Horrez gain, zure ServiceNow kontua lotu behar duzu.

Ansible Tower-en Ansible Content Collections-en inbentario-pluginak erabiltzea

Dena nola funtzionatzen duen egiaztatzeko, saia gaitezen datu-iturburuarekin sinkronizatzen "Sync all" botoian klik eginez. Dena behar bezala konfiguratuta badago, nodoak gure inbentarioan inportatu beharko lirateke:

Ansible Tower-en Ansible Content Collections-en inbentario-pluginak erabiltzea

Kontuan izan behar ditugun taldeak ere sortu direla.

Ondorioa

Argitalpen honetan, Ansible Tower-eko bildumetako inbentario-pluginak nola erabili aztertu dugu ServiceNow plugina adibide gisa erabiliz. Gure ServiceNow instantziara konektatzeko kredentzialak ere segurtasunez erregistratu ditugu. Proiektu bateko inbentario-plugin bat lotzeak hirugarrenen edo pertsonalizatutako pluginekin ez ezik, inbentario estandar batzuen funtzionamendua aldatzeko ere erabil daiteke. Horri esker, Ansible Automation Platform lehendik dauden tresnekin integratzea erraza da eta gero eta konplexuagoak diren IT inguruneak automatizatzean.

Argitalpen honetan jorratzen diren gaiei buruzko informazio gehiago aurki dezakezu, baita Ansible erabiltzearen beste alderdi batzuk ere, hemen:

*Red Hat-ek ez du bermatzen hemen jasotako kodea zuzena denik. Material guztiak onarpenik gabe ematen dira, espresuki adierazi ezean.

Iturria: www.habr.com

Gehitu iruzkin berria