Kwa kutumia programu jalizi za hesabu kutoka kwa Mikusanyiko ya Maudhui Yanayofaa katika Ansible Tower

Mazingira ya IT yanazidi kuwa magumu. Katika hali hizi, ni muhimu kwa mfumo wa otomatiki wa IT kuwa na habari ya kisasa kuhusu nodi zilizopo kwenye mtandao na chini ya usindikaji. Katika Jukwaa la Otomatiki la Red Hat Ansible, suala hili linatatuliwa kupitia kinachojulikana kama hesabu (hesabu) - orodha za nodi zinazosimamiwa.

Kwa kutumia programu jalizi za hesabu kutoka kwa Mikusanyiko ya Maudhui Yanayofaa katika Ansible Tower

Kwa fomu yake rahisi, hesabu ni faili tuli. Hii ni bora unapoanza kufanya kazi na Ansible, lakini otomatiki inapoongezeka, inakuwa haitoshi.

Na hii ndiyo sababu:

  1. Je, unasasisha na kudumishaje orodha kamili ya nodi zinazofuatiliwa wakati mambo yanabadilika kila mara, wakati mzigo wa kaziβ€”na hatimaye nodi zinazoendeshwaβ€”huja na kuondoka?
  2. Jinsi ya kuainisha vifaa vya miundombinu ya IT ili kuchagua nodi maalum za kutumia otomatiki fulani?

Malipo yenye nguvu hutoa majibu kwa maswali haya yote mawili (hesabu yenye nguvu) - hati au programu-jalizi ambayo hutafuta nodi za kiotomatiki, zikirejelea chanzo cha ukweli. Kwa kuongeza, orodha inayobadilika huainisha nodi kiotomatiki katika vikundi ili uweze kuchagua kwa usahihi zaidi mifumo lengwa ya kutekeleza otomatiki mahususi Ansible.

Orodha ya programu jalizi kumpa mtumiaji Ansible uwezo wa kufikia mifumo ya nje ili kutafuta kwa nguvu nodi lengwa na kutumia mifumo hii kama chanzo cha ukweli wakati wa kuunda orodha. Orodha ya kawaida ya vyanzo katika Ansible inajumuisha majukwaa ya wingu AWS EC2, Google GCP na Microsoft Azure, na pia kuna programu-jalizi zingine nyingi za hesabu za Ansible.

Ansible Tower inakuja na idadi ya hesabu Plugins, ambayo hufanya kazi nje ya boksi na, pamoja na majukwaa ya wingu yaliyoorodheshwa hapo juu, hutoa ushirikiano na VMware vCenter, Red Hat OpenStack Platform na Red Hat Satellite. Kwa programu-jalizi hizi, unahitaji tu kutoa kitambulisho ili kuunganisha kwenye jukwaa lengwa, kisha zinaweza kutumika kama chanzo cha data ya hesabu katika Ansible Tower.

Kando na programu-jalizi za kawaida zilizojumuishwa na Ansible Tower, kuna programu-jalizi zingine za orodha zinazoauniwa na jumuiya ya Ansible. Pamoja na mpito kwa Mkusanyiko wa Maudhui Yanayofaa kwa Kofia Nyekundu programu-jalizi hizi zilianza kujumuishwa katika makusanyo yanayolingana.

Katika chapisho hili, tutachukua mfano wa kufanya kazi na programu-jalizi ya hesabu ya ServiceNow, jukwaa maarufu la usimamizi wa huduma za TEHAMA ambamo wateja mara nyingi huhifadhi taarifa kuhusu vifaa vyao vyote kwenye CMDB. Kwa kuongezea, CMDB inaweza kuwa na muktadha ambao ni muhimu kwa uwekaji kiotomatiki, kama vile maelezo kuhusu wamiliki wa seva, viwango vya huduma (uzalishaji/kutozalisha), masasisho yaliyosakinishwa na madirisha ya matengenezo. Programu-jalizi ya orodha ya Ansible inaweza kufanya kazi na ServiceNow CMDB na ni sehemu ya mkusanyiko servicenow kwenye bandari galaxy.ansible.com.

Hifadhi ya Git

Ili kutumia programu-jalizi ya hesabu kutoka kwa mkusanyiko katika Ansible Tower, ni lazima iwekwe kama chanzo cha mradi. Katika Ansible Tower, mradi ni muunganisho na aina fulani ya mfumo wa udhibiti wa toleo, kama hazina ya git, ambayo inaweza kutumika kusawazisha sio tu vitabu vya kucheza vya kiotomatiki, lakini pia anuwai na orodha za hesabu.

Hifadhi yetu ni rahisi sana:

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

Faili ya servicenow.yml ina maelezo ya orodha ya programu-jalizi. Kwa upande wetu, tunabainisha tu jedwali katika ServiceNow CMDB ambayo tunataka kutumia. Pia tunaweka sehemu ambazo zitaongezwa kama viambajengo vya nodi, pamoja na taarifa fulani kuhusu vikundi ambavyo tunataka kuunda.

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

Tafadhali kumbuka kuwa hii haibainishi mfano wa ServiceNow ambao tutaunganisha kwa njia yoyote, na haibainishi kitambulisho chochote cha muunganisho. Tutasanidi haya yote baadaye katika Ansible Tower.

Mikusanyiko ya faili/requirements.yml inahitajika ili Ansible Tower iweze kupakua mkusanyiko unaohitajika na kwa hivyo kupata programu-jalizi ya hesabu inayohitajika. Vinginevyo, tutalazimika kusakinisha na kudumisha mkusanyiko huu wenyewe kwenye nodi zetu zote za Ansible Tower.

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

- name: servicenow.servicenow

Baada ya kusukuma usanidi huu hadi udhibiti wa toleo, tunaweza kuunda mradi katika Ansible Tower ambao unarejelea hazina inayolingana. Mfano hapa chini unaunganisha Ansible Tower kwenye hazina yetu ya github. Zingatia URL ya SCM: hukuruhusu kusajili akaunti ili kuunganishwa kwenye hazina ya kibinafsi, na pia kubainisha tawi maalum, lebo au kujitolea kuangalia.

Kwa kutumia programu jalizi za hesabu kutoka kwa Mikusanyiko ya Maudhui Yanayofaa katika Ansible Tower

Kuunda kitambulisho kwa ServiceNow

Kama ilivyotajwa, usanidi katika hazina yetu hauna kitambulisho cha kuunganisha kwa ServiceNow na haubainishi mfano wa ServiceNow ambao tutawasiliana nao. Kwa hivyo, ili kuweka data hii, tutaunda hati katika Ansible Tower. Kulingana na Hati za programu-jalizi za hesabu za ServiceNow, kuna anuwai ya mazingira ambayo tutaweka vigezo vya uunganisho, kwa mfano, kama hii:

= 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

Katika hali hii, ikiwa mabadiliko ya mazingira ya SN_USERNAME yamewekwa, programu-jalizi ya orodha itaitumia kama akaunti kuunganisha kwenye ServiceNow.

Tunahitaji pia kuweka vigeu vya SN_INSTANCE na SN_PASSWORD.

Hata hivyo, hakuna kitambulisho cha aina hii katika Ansible Tower ambapo unaweza kubainisha data hii kwa ServiceNow. Lakini Ansible Tower inaruhusu sisi kufafanua aina za vitambulisho maalum, unaweza kusoma zaidi kuhusu hili katika makala "Ansible Tower Feature Spotlight: Sifa Maalum".

Kwa upande wetu, usanidi wa ingizo kwa vitambulisho maalum kwa ServiceNow inaonekana kama hii:

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

Vitambulisho hivi vitafichuliwa kama vigeu vya mazingira vilivyo na jina sawa. Hii imeelezewa katika usanidi wa injector:

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

Kwa hivyo, tumefafanua aina ya kitambulisho tunachohitaji, sasa tunaweza kuongeza akaunti ya ServiceNow na kuweka mfano, jina la mtumiaji na nenosiri, kama hii:

Kwa kutumia programu jalizi za hesabu kutoka kwa Mikusanyiko ya Maudhui Yanayofaa katika Ansible Tower

Tunaunda hesabu

Kwa hivyo, sasa sote tuko tayari kuunda hesabu katika Ansible Tower. Wacha tuiite ServiceNow:

Kwa kutumia programu jalizi za hesabu kutoka kwa Mikusanyiko ya Maudhui Yanayofaa katika Ansible Tower

Baada ya kuunda hesabu, tunaweza kuambatisha chanzo cha data kwake. Hapa tunabainisha mradi tuliounda awali na kuingiza njia ya faili yetu ya orodha ya YAML katika hazina ya udhibiti wa chanzo, kwa upande wetu ni servicenow.yml katika msingi wa mradi. Kwa kuongeza, unahitaji kuunganisha akaunti yako ya ServiceNow.

Kwa kutumia programu jalizi za hesabu kutoka kwa Mikusanyiko ya Maudhui Yanayofaa katika Ansible Tower

Kuangalia jinsi kila kitu kinavyofanya kazi, hebu tujaribu kusawazisha na chanzo cha data kwa kubofya kitufe cha "Sawazisha zote". Ikiwa kila kitu kimeundwa kwa usahihi, basi nodi zinapaswa kuingizwa kwenye hesabu yetu:

Kwa kutumia programu jalizi za hesabu kutoka kwa Mikusanyiko ya Maudhui Yanayofaa katika Ansible Tower

Tafadhali kumbuka kuwa vikundi tunavyohitaji pia vimeundwa.

Hitimisho

Katika chapisho hili, tuliangalia jinsi ya kutumia programu jalizi za hesabu kutoka kwa mikusanyiko katika Ansible Tower kwa kutumia programu-jalizi ya ServiceNow kama mfano. Pia tulisajili vitambulisho kwa njia salama ili kuunganisha kwenye mfano wetu wa ServiceNow. Kuunganisha programu-jalizi ya hesabu kutoka kwa mradi hakufanyi kazi tu na wahusika wengine au programu-jalizi maalum, lakini pia kunaweza kutumiwa kurekebisha utendakazi wa baadhi ya orodha za kawaida. Hii inafanya Ansible Automation Platform iwe rahisi na isiyo na mshono kuunganishwa na zana zilizopo wakati wa kugeuza kiotomatiki mazingira magumu ya TEHAMA.

Unaweza kupata habari zaidi juu ya mada zilizojadiliwa katika chapisho hili, na vile vile mambo mengine ya kutumia Ansible, hapa:

*Red Hat haitoi hakikisho kwamba msimbo ulio hapa ni sahihi. Nyenzo zote hutolewa kwa msingi usioidhinishwa isipokuwa kama imeelezwa vinginevyo.

Chanzo: mapenzi.com

Kuongeza maoni