Ho sebelisa li-plugins tsa inventory ho tsoa ho Ansible Content Collections ho Ansible Tower

Maemo a IT a ntse a rarahana le ho feta. Maemong ana, ho bohlokoa hore sistimi ea boiketsetso ea IT e be le tlhaiso-leseling ea morao-rao mabapi le li-node tse teng marang-rang le ho sebetsa. Sebakeng sa Red Hat Ansible Automation Platform, taba ena e rarolloa ka seo ho thoeng ke inventory (inventory) - manane a li-node tse laoloang.

Ho sebelisa li-plugins tsa inventory ho tsoa ho Ansible Content Collections ho Ansible Tower

Ka mokhoa oa eona o bonolo, inventory ke faele e tsitsitseng. Sena se nepahetse ha o qala ho sebetsa le Ansible, empa ha othomathike e ntse e eketseha, e fetoha e sa lekaneng.

Ke kahoo:

  1. U ka ntlafatsa le ho boloka lethathamo le felletseng la li-node tse shebiloeng joang ha lintho li lula li fetoha, ha meroalo e mengata ea mosebetsi - 'me ka mor'a moo li-node tseo li tsamaeang ho tsona - li tla le ho tsamaea?
  2. Mokhoa oa ho arola likarolo tsa lisebelisoa tsa IT e le hore u khethoe ka ho khetheha li-node bakeng sa ho sebelisa mochine o itseng?

Dynamic inventory e fana ka likarabo tsa lipotso tsena ka bobeli (dynamic inventory) - script kapa plugin e batlang li-node hore e iketsetse, e buang ka mohloli oa 'nete. Ntle le moo, lethathamo la lintho tse feto-fetohang le arola li-node ka lihlopha e le hore u ka khetha ka nepo litsamaiso tsa sepheo bakeng sa ho etsa othomathike e itseng ea Ansible.

Inventory plugins fa mosebelisi ea Ansible bokhoni ba ho fihlella li-platform tsa kantle ho batla ka matla li-node tsa sepheo le ho sebelisa sethala sena e le mohloli oa 'nete ha o theha lethathamo la lintho. Lethathamo le tloaelehileng la mehloli ho Ansible le kenyelletsa sethala sa maru AWS EC2, Google GCP le Microsoft Azure, hape ho na le li-plugins tse ling tse ngata tsa Ansible.

Ansible Tower e tla le palo ea li-plugins tsa thepa, e sebetsang hantle ka ntle ho lebokose 'me, ho phaella ho liforomo tsa maru tse thathamisitsoeng ka holimo, li fana ka kopanyo le VMware vCenter, Red Hat OpenStack Platform le Red Hat Satellite. Bakeng sa li-plugins tsena, o hloka feela ho fana ka lintlha tsa ho hokela sethaleng se lebisitsoeng, ka mor'a moo li ka sebelisoa e le mohloli oa lintlha tsa thepa ho Ansible Tower.

Ntle le li-plugins tse tloaelehileng tse kenyellelitsoeng le Ansible Tower, ho na le li-plugins tse ling tse tšehetsoeng ke sechaba sa Ansible. Ka phetoho ea ho Lipokello tsa Litaba tsa Red Hat Ansible li-plugins tsena li ile tsa qala ho kenyelletsoa likolekeng tse lumellanang.

Ka poso ena, re tla nka mohlala oa ho sebetsa le plugin ea inventory bakeng sa ServiceNow, sethaleng se tummeng sa tsamaiso ea litšebeletso tsa IT moo bareki ba atisang ho boloka tlhahisoleseding e mabapi le lisebelisoa tsohle tsa bona ho CMDB. Ho phaella moo, CMDB e ka ba le moelelo o sebetsang bakeng sa ho iketsetsa, joalo ka tlhahisoleseding e mabapi le beng ba li-server, maemo a ts'ebeletso (tlhahiso / e seng ea tlhahiso), lisebelisoa tse kentsoeng, le lifensetere tsa tlhokomelo. Ansible inventory plugin e ka sebetsa le ServiceNow CMDB mme ke karolo ea pokello mohlanka ho portal galaxy.ansible.com.

Sebaka sa polokelo ea Git

Ho sebelisa plugin ea inventory ho tsoa pokellong ea Ansible Tower, e tlameha ho beoa joalo ka mohloli oa projeke. Ho Ansible Tower, morero ke kopanyo le mofuta o mong oa sistimi ea taolo ea mofuta, joalo ka polokelo ea git, e ka sebelisoang ho hokahanya eseng feela libuka tsa ho bapala tsa othomathike, empa le mefuta e fapaneng le manane a lethathamo.

Sebaka sa rona sa polokelo se bonolo haholo:

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

Faele ea servicenow.yml e na le lintlha tsa lethathamo la plugin. Tabeng ea rona, re hlalosa feela tafole ho ServiceNow CMDB eo re batlang ho e sebelisa. Re boetse re beha masimo a tla eketsoa e le mefuta e fapaneng ea li-node, hammoho le tlhaiso-leseling e itseng ka lihlopha tseo re batlang ho li theha.

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

Ka kopo hlokomela hore sena ha se hlakise mohlala oa ServiceNow oo re tla hokela ho oona ka tsela efe kapa efe, 'me ha e hlakise lintlha tsa ho hokela. Re tla hlophisa tsena tsohle hamorao ho Ansible Tower.

Lipokello tsa lifaele/requirements.yml e hlokahalang e le hore Ansible Tower e ka khoasolla pokello e hlokahalang mme ka hona e fumane plugin e hlokahalang ea inventory. Ho seng joalo, re tla tlameha ho kenya le ho boloka pokello ena ka letsoho libakeng tsohle tsa rona tsa Ansible Tower.

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

- name: servicenow.servicenow

Ha re se re sutumelitse tlhophiso ena ho taolo ea mofuta, re ka theha projeke ho Ansible Tower e supang polokelo e lumellanang. Mohlala o ka tlase o hokahanya Ansible Tower le polokelo ea rona ea github. Ela hloko URL ea SCM: e u lumella ho ngolisa ak'haonte ho hokela polokelong ea poraefete, hammoho le ho hlakisa lekala le itseng, tag kapa boitlamo ba ho hlahloba.

Ho sebelisa li-plugins tsa inventory ho tsoa ho Ansible Content Collections ho Ansible Tower

Ho theha mangolo a bopaki bakeng sa ServiceNow

Joalokaha ho boletsoe, tlhophiso sebakeng sa rona sa polokelo ha e na lintlha tsa ho hokela ho ServiceNow mme ha e hlakise mohlala oa ServiceNow oo re tla buisana le ona. Ka hona, ho beha data ena, re tla theha lintlha ho Ansible Tower. Ho latela Litokomane tsa plugin tsa ServiceNow, ho na le mefuta e mengata ea tikoloho eo re tla beha liparamente tsa khokahano ka eona, mohlala, tjena:

= 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

Tabeng ena, haeba SN_USERNAME tikoloho e feto-fetoha e setiloe, plugin ea inventory e tla e sebelisa e le akhaonto ho hokela ho ServiceNow.

Re boetse re hloka ho theha mefuta e fapaneng ea SN_INSTANCE le SN_PASSWORD.

Leha ho le joalo, ha ho na mangolo a mofuta ona ho Ansible Tower moo o ka hlalosang data ena bakeng sa ServiceNow. Empa Ansible Tower e re lumella ho hlalosa mefuta ea litokomane tse ikhethileng, u ka bala ho eketsehileng ka sena sehloohong "Ansible Tower Feature Spotlight: Lintlha tse Tloaelehileng".

Tabeng ea rona, tlhophiso ea ho kenya bakeng sa mangolo a tloaelo bakeng sa ServiceNow e shebahala tjena:

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

Lintlha tsena li tla pepesoa e le mefuta e fapaneng ea tikoloho e nang le mabitso a tšoanang. Sena se hlalositsoe ho tlhophiso ea injector:

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

Kahoo, re hlalositse mofuta oa mangolo ao re a hlokang, joale re ka eketsa ak'haonte ea ServiceNow mme ra beha mohlala, lebitso la mosebelisi le password, joalo ka:

Ho sebelisa li-plugins tsa inventory ho tsoa ho Ansible Content Collections ho Ansible Tower

Re theha inventory

Kahoo, joale kaofela re se re itokiselitse ho theha lethathamo la thepa ho Ansible Tower. Ha re e bitse ServiceNow:

Ho sebelisa li-plugins tsa inventory ho tsoa ho Ansible Content Collections ho Ansible Tower

Kamora ho theha lethathamo, re ka hokela mohloli oa data ho eona. Mona re hlakisa morero oo re o entseng pejana mme re kenya tsela e lebang faeleng ea rona ea lethathamo la YAML sebakeng sa taolo ea mohloli, molemong oa rona ke servicenow.yml motso oa projeke. Ntle le moo, o hloka ho hokela ak'haonte ea hau ea ServiceNow.

Ho sebelisa li-plugins tsa inventory ho tsoa ho Ansible Content Collections ho Ansible Tower

Ho sheba hore na tsohle li sebetsa joang, a re lekeng ho hokahanya le mohloli oa data ka ho tobetsa konopo ea "Sync all". Haeba ntho e 'ngoe le e' ngoe e hlophisitsoe hantle, joale li-node li lokela ho kenngoa ka har'a lethathamo la rona:

Ho sebelisa li-plugins tsa inventory ho tsoa ho Ansible Content Collections ho Ansible Tower

Ka kopo hlokomela hore lihlopha tseo re li hlokang le tsona li entsoe.

fihlela qeto e

Ka poso ena, re shebile mokhoa oa ho sebelisa li-plugins tsa inventory ho tsoa likoleke ho Ansible Tower ho sebelisa plugin ea ServiceNow e le mohlala. Re boetse re ngolisitse mangolo ka mokhoa o sireletsehileng oa ho hokela mohlala oa rona oa ServiceNow. Ho hokahanya plugin ea inventory ho tsoa projeke ha e sebetse feela le motho oa boraro kapa li-plugins tse tloaelehileng, empa hape e ka sebelisoa ho fetola ts'ebetso ea li-inventory tse ling tse tloaelehileng. Sena se etsa hore Ansible Automation Platform e be bonolo le e se nang moeli ho hokahana le lisebelisoa tse seng li ntse li le teng ha o iketsetsa tikoloho e rarahaneng ea IT.

U ka fumana leseli le eketsehileng ka lihlooho tse tšohliloeng posong ena, hammoho le likarolo tse ling tsa ho sebelisa Ansible, mona:

*Red Hat ha e tiise hore khoutu e teng mona e nepahetse. Lisebelisoa tsohle li fanoe ka mokhoa o sa faneng ka tumello ntle le haeba ho boletsoe ka tsela e 'ngoe.

Source: www.habr.com

Eketsa ka tlhaloso