Ke hoʻohana nei i nā plugins inventory mai Ansible Content Collections in Ansible Tower

ʻOi aku ka paʻakikī o nā kaiapuni IT. Ma kēia mau kūlana, he mea koʻikoʻi no ka ʻōnaehana IT automation e loaʻa i nā ʻike hou e pili ana i nā nodes i loaʻa i ka pūnaewele a pili i ka hana. Ma ka Red Hat Ansible Automation Platform, ua hoʻoholo ʻia kēia pilikia ma o ka mea i kapa ʻia he inventory (mo'olako) - nā papa inoa o nā node i mālama ʻia.

Ke hoʻohana nei i nā plugins inventory mai Ansible Content Collections in Ansible Tower

Ma kāna ʻano maʻalahi, ʻo ka waihona he faila paʻa. He kūpono kēia ke hoʻomaka ʻoe e hana me Ansible, akā i ka piʻi ʻana o ka automation, ʻaʻole lawa.

A eia ke kumu:

  1. Pehea ʻoe e hoʻohou ai a mālama i kahi papa inoa piha o nā nodes i nānā ʻia ke loli mau nā mea, i ka wā o nā haʻahaʻa hana - a ma hope o nā nodes e holo ai lākou - hele mai a hele?
  2. Pehea e hoʻokaʻawale ai i nā ʻāpana o ka ʻōnaehana IT i mea e koho pono ai i nā nodes no ka noi ʻana i kahi automation?

Hāʻawi ka Dynamic Inventory i nā pane i kēia mau nīnau ʻelua (dynamic inventory) - he palapala a i ʻole plugin e ʻimi ana i nā node e hoʻohana ʻia, e pili ana i ke kumu o ka ʻoiaʻiʻo. Eia kekahi, hoʻokaʻawale ʻokoʻa ka ʻikepili ikaika i nā nodes i mau pūʻulu i hiki iā ʻoe ke koho pololei i nā ʻōnaehana pahuhopu no ka hoʻokō ʻana i ka automation Ansible.

Nā mea hoʻohui waiwai hāʻawi i ka mea hoʻohana Ansible i hiki ke komo i nā paepae waho e ʻimi ikaika i nā node i hoʻopaʻa ʻia a hoʻohana i kēia mau kahua i kumu o ka ʻoiaʻiʻo i ka wā e hana ana i kahi waihona. ʻO ka papa inoa maʻamau o nā kumu ma Ansible e pili ana i nā kapuaʻi kapuaʻi AWS EC2, Google GCP a me Microsoft Azure, a he nui nō hoʻi nā plugins inventory no Ansible.

Hele mai ʻo Ansible Tower me ka nui o nā mea hoʻohui waiwai, e hana pololei ana ma waho o ka pahu a, ma waho aʻe o nā kapuaʻi kapuaʻi i helu ʻia ma luna, e hāʻawi i ka hoʻohui ʻana me VMware vCenter, Red Hat OpenStack Platform a me Red Hat Satellite. No kēia mau plugins, pono ʻoe e hāʻawi i nā hōʻoia e hoʻopili ai i ka paepae i hoʻopaʻa ʻia, a laila hiki ke hoʻohana ʻia ma ke ʻano he kumu o ka ʻikepili waihona ma Ansible Tower.

Ma kahi o nā plugins maʻamau i hoʻokomo ʻia me Ansible Tower, aia kekahi mau plugins inventory i kākoʻo ʻia e ke kaiāulu Ansible. Me ka hoʻololi i Nā Hōʻiliʻili Maʻiʻo ʻo Red Hat Ansible ua hoʻomaka kēia mau plugins e hoʻokomo i nā hōʻiliʻili pili.

Ma kēia pou, e lawe mākou i kahi laʻana o ka hana ʻana me ka plugin inventory no ServiceNow, kahi kahua hoʻokele lawelawe lawelawe IT kaulana kahi e mālama pinepine ai nā mea kūʻai aku i ka ʻike e pili ana i kā lākou mau polokalamu āpau i ka CMDB. Eia hou, hiki i ka CMDB ke hoʻokomo i ka pōʻaiapili e pono ai no ka automation, e like me kaʻike e pili ana i nā mea nona ka server, nā pae lawelawe (hana / hanaʻole), nā mea hou i hoʻokomoʻia, a me nā puka makani mālama. Hiki i ka Ansible inventory plugin ke hana me ServiceNow CMDB a he ʻāpana o ka hōʻiliʻili hale lawelawe ma ka ipuka galaxy.ansible.com.

waihona waihona Git

No ka hoʻohana ʻana i kahi plugin inventory mai kahi hōʻiliʻili ma Ansible Tower, pono e hoʻonoho ʻia ma ke kumu kumu. Ma Ansible Tower, he hoʻohui ʻia kahi papahana me kekahi ʻano ʻōnaehana mana mana, e like me kahi waihona git, hiki ke hoʻohana ʻia e synchronize ʻaʻole wale i nā puke pāʻani automation, akā me nā ʻano like ʻole a me nā papa inoa waihona.

He maʻalahi loa kā mākou waihona:

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

Aia ka waihona servicenow.yml i nā kikoʻī no ka waihona waihona. I kā mākou hihia, hōʻike wale mākou i ka papa ma ka ServiceNow CMDB a mākou e makemake ai e hoʻohana. Hoʻonoho pū mākou i nā māla e hoʻohui ʻia e like me nā node variables, me kekahi mau ʻike e pili ana i nā hui a mākou e makemake ai e hana.

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

E ʻoluʻolu, ʻaʻole kēia e kuhikuhi i ka ServiceNow kahi e hoʻopili ai mākou ma kekahi ʻano, a ʻaʻole i kuhikuhi i nā hōʻoia no ka pilina. E hoʻonohonoho mākou i kēia mau mea ma hope ma Ansible Tower.

Nā waihona waihona/requirements.yml pono i hiki i ka Ansible Tower ke hoʻoiho i ka hōʻiliʻili i koi ʻia a laila e loaʻa i ka plugin inventory pono. A i ʻole, pono mākou e hoʻokomo lima a mālama i kēia hōʻiliʻili ma kā mākou Ansible Tower nodes.

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

- name: servicenow.servicenow

Ke hoʻokau nei mākou i kēia hoʻonohonoho i ka mana mana, hiki iā mākou ke hana i kahi papahana ma Ansible Tower e kuhikuhi ana i ka waihona e pili ana. Hoʻopili ka laʻana ma lalo nei i ka hale kiaʻi Ansible i kā mākou waihona github. E noʻonoʻo i ka URL SCM: hiki iā ʻoe ke hoʻopaʻa inoa i kahi moʻokāki e hoʻopili ai i kahi waihona pilikino, a me ka wehewehe ʻana i kahi lālā kikoʻī, tag a i ʻole e hana e nānā.

Ke hoʻohana nei i nā plugins inventory mai Ansible Content Collections in Ansible Tower

Ke hana nei i nā hōʻoia no ServiceNow

E like me ka mea i ʻōlelo ʻia, ʻaʻole i loaʻa i ka hoʻonohonoho ʻana i kā mākou waihona i nā hōʻoia e hoʻopili ai iā ServiceNow a ʻaʻole ia e kuhikuhi i ke ʻano ServiceNow a mākou e kamaʻilio ai. No laila, e hoʻonohonoho i kēia ʻikepili, e hana mākou i nā hōʻoia i ka hale kiaʻi Ansible. Wahi a ʻO ka palapala hoʻohui plugin ServiceNow, aia kekahi mau ʻano hoʻololi kaiapuni a mākou e hoʻonohonoho ai i nā ʻāpana pili, no ka laʻana, e like me kēia:

= 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

I kēia hihia, inā hoʻonohonoho ʻia ka ʻano hoʻololi kaiapuni SN_USERNAME, e hoʻohana ka plugin inventory iā ia ma ke ʻano he moʻokāki e hoʻopili ai iā ServiceNow.

Pono mākou e hoʻonohonoho i nā mea hoʻololi SN_INSTANCE a me SN_PASSWORD.

Eia naʻe, ʻaʻohe hōʻoia o kēia ʻano ma Ansible Tower kahi e hiki ai iā ʻoe ke kuhikuhi i kēia ʻikepili no ServiceNow. Akā ʻo Ansible Tower hiki iā mākou ke wehewehe ʻano hōʻoia maʻamau, hiki iā ʻoe ke heluhelu hou aku e pili ana i kēia ma ka ʻatikala "Kukuhi hiʻona hiʻohiʻona Ansible Tower: Nā hōʻoia maʻamau".

I kā mākou hihia, ʻo ka hoʻonohonoho hoʻokomo no nā hōʻoia maʻamau no ServiceNow e like me kēia:

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

E hōʻike ʻia kēia mau ʻoiaʻiʻo ma ke ʻano he ʻano hoʻololi kaiapuni me ka inoa like. Ua wehewehe ʻia kēia ma ka hoʻonohonoho injector:

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

No laila, ua wehewehe mākou i ke ʻano hōʻoia e pono ai mākou, i kēia manawa hiki iā mākou ke hoʻohui i kahi moʻokāki ServiceNow a hoʻonohonoho i ka manawa, inoa inoa a me ka ʻōlelo huna, e like me kēia:

Ke hoʻohana nei i nā plugins inventory mai Ansible Content Collections in Ansible Tower

Hana mākou i ka waihona

No laila, ua mākaukau mākou a pau e hana i kahi papa inoa ma Ansible Tower. Kāhea kākou iā ServiceNow:

Ke hoʻohana nei i nā plugins inventory mai Ansible Content Collections in Ansible Tower

Ma hope o ka hana ʻana i ka waihona, hiki iā mākou ke hoʻopili i kahi kumu ʻikepili iā ia. Maanei mākou e kuhikuhi ai i ka papahana a mākou i hana ai ma mua a komo i ke ala i kā mākou waihona waihona waihona YAML i ka waihona mana kumu, i kā mākou hihia ʻo servicenow.yml i ke kumu o ka papahana. Eia hou, pono ʻoe e hoʻopili i kāu moʻokāki ServiceNow.

Ke hoʻohana nei i nā plugins inventory mai Ansible Content Collections in Ansible Tower

No ka nānā ʻana i ka hana ʻana o nā mea a pau, e hoʻāʻo kākou e hoʻonohonoho pū me ke kumu ʻikepili ma ke kaomi ʻana i ke pihi “Sync all”. Inā hoʻonohonoho pono ʻia nā mea a pau, a laila pono e hoʻokomo ʻia nā nodes i kā mākou waihona:

Ke hoʻohana nei i nā plugins inventory mai Ansible Content Collections in Ansible Tower

E ʻoluʻolu, ua hana ʻia nā hui e pono ai mākou.

hopena

Ma kēia pou, ua nānā mākou pehea e hoʻohana ai i nā plugins inventory mai nā hōʻiliʻili ma Ansible Tower me ka hoʻohana ʻana i ka plugin ServiceNow ma ke ʻano he laʻana. Ua hoʻopaʻa inoa paʻa mākou i nā hōʻoia no ka hoʻopili ʻana i kā mākou ServiceNow. ʻO ka hoʻopili ʻana i kahi plugin inventory mai kahi papahana e hana ʻaʻole wale me nā plugins ʻaoʻao ʻekolu a i ʻole nā ​​plugins maʻamau, akā hiki ke hoʻohana ʻia no ka hoʻololi ʻana i ka hana o kekahi mau mea waiwai maʻamau. ʻO kēia ka mea maʻalahi a maʻalahi hoʻi ka Ansible Automation Platform e hoʻohui me nā mea hana i ka wā e hoʻomaʻamaʻa ai i nā kaiapuni IT paʻakikī.

Hiki iā ʻoe ke ʻike i ka ʻike hou aku e pili ana i nā kumuhana i kūkākūkā ʻia ma kēia pou, a me nā ʻano ʻē aʻe o ka hoʻohana ʻana iā Ansible, ma aneʻi:

* ʻAʻole hōʻoia ʻo Red Hat i ka pololei o ke code i loko. Hāʻawi ʻia nā mea a pau ma ke ʻano hōʻoia ʻole ke ʻole i hōʻike ʻia.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka