Ansible Tower හි Ansible අන්තර්ගත එකතුවෙන් ඉන්වෙන්ටරි ප්ලගීන භාවිතා කිරීම

තොරතුරු තාක්ෂණ පරිසරය වඩ වඩාත් සංකීර්ණ වෙමින් පවතී. මෙම තත්වයන් තුළ, තොරතුරු තාක්ෂණ ස්වයංක්‍රීයකරණ පද්ධතියට ජාලය තුළ පවතින සහ සැකසීමට යටත් වන නෝඩ් පිළිබඳ යාවත්කාලීන තොරතුරු තිබීම ඉතා වැදගත් වේ. Red Hat Ansible Automation Platform හි, මෙම ගැටළුව ඊනියා ඉන්වෙන්ටරි හරහා විසඳනු ලැබේ (බඩු තොග) - කළමනාකරණය කළ නෝඩ් ලැයිස්තුව.

Ansible Tower හි Ansible අන්තර්ගත එකතුවෙන් ඉන්වෙන්ටරි ප්ලගීන භාවිතා කිරීම

එහි සරලම ආකාරයෙන්, ඉන්වෙන්ටරි යනු ස්ථිතික ගොනුවකි. ඔබ Ansible සමඟ වැඩ කිරීමට පටන් ගන්නා විට මෙය වඩාත් සුදුසු වේ, නමුත් ස්වයංක්‍රීයකරණය වැඩි වන විට එය ප්‍රමාණවත් නොවේ.

මෙන්න මෙන්න:

  1. දේවල් නිරන්තරයෙන් වෙනස් වන විට, වැඩ බර ඇති විට සහ පසුව ඒවා ක්‍රියාත්මක වන නෝඩ් පැමිණ යන විට ඔබ නිරීක්ෂණය කරන ලද නෝඩ් වල සම්පූර්ණ ලැයිස්තුවක් යාවත්කාලීන කර නඩත්තු කරන්නේ කෙසේද?
  2. විශේෂිත ස්වයංක්‍රීයකරණයක් යෙදීම සඳහා විශේෂයෙන් නෝඩ් තෝරා ගැනීම සඳහා තොරතුරු තාක්ෂණ යටිතල ව්‍යුහයේ සංරචක වර්ගීකරණය කරන්නේ කෙසේද?

Dynamic inventory මෙම ප්‍රශ්න දෙකටම පිළිතුරු සපයයි (ගතික ඉන්වෙන්ටරි) - සත්‍යයේ මූලාශ්‍රය වෙත යොමු කරමින් ස්වයංක්‍රීය කිරීමට නෝඩ් සොයන ස්ක්‍රිප්ට් හෝ ප්ලගිනයක්. මීට අමතරව, ගතික ඉන්වෙන්ටරි ස්වයංක්‍රීයව නෝඩ් කණ්ඩායම් වලට වර්ග කරයි, එවිට ඔබට නිශ්චිත ඇන්සිබල් ස්වයංක්‍රීයකරණය සිදු කිරීම සඳහා ඉලක්ක පද්ධති වඩාත් නිවැරදිව තෝරා ගත හැකිය.

ඉන්වෙන්ටරි ප්ලගින ඉලක්ක නෝඩ් සඳහා ගතිකව සෙවීමට සහ ඉන්වෙන්ටරි නිර්මාණය කිරීමේදී සත්‍ය මූලාශ්‍රයක් ලෙස මෙම වේදිකා භාවිතා කිරීමට බාහිර වේදිකා වෙත ප්‍රවේශ වීමේ හැකියාව Ansible පරිශීලකයාට ලබා දෙන්න. Ansible හි ඇති මූලාශ්‍රවල සම්මත ලැයිස්තුවට ක්ලවුඩ් වේදිකා AWS EC2, Google GCP සහ Microsoft Azure ඇතුළත් වන අතර Ansible සඳහා තවත් බොහෝ ඉන්වෙන්ටරි ප්ලගීන තිබේ.

Ansible Tower ගණනාවක් සමඟ පැමිණේ ඉන්වෙන්ටරි ප්ලගින, එය කොටුවෙන් පිටත ක්‍රියා කරන අතර, ඉහත ලැයිස්තුගත කර ඇති වලාකුළු වේදිකා වලට අමතරව, VMware vCenter, Red Hat OpenStack Platform සහ Red Hat Satellite සමඟ ඒකාබද්ධ කිරීම සපයයි. මෙම ප්ලගීන සඳහා, ඔබ ඉලක්ක වේදිකාවට සම්බන්ධ වීමට අක්තපත්‍ර සැපයීමට අවශ්‍ය වේ, ඉන් පසුව ඒවා ඇන්සිබල් ටවර් හි ඉන්වෙන්ටරි දත්ත ප්‍රභවයක් ලෙස භාවිතා කළ හැකිය.

Ansible Tower සමඟ ඇතුළත් කර ඇති සම්මත ප්ලගීන වලට අමතරව, Ansible ප්‍රජාව විසින් සහාය දක්වන වෙනත් ඉන්වෙන්ටරි ප්ලගීන තිබේ. වෙත මාරුවීමත් සමඟ Red Hat Ansible අන්තර්ගත එකතුව මෙම ප්ලගින අනුරූප එකතු කිරීම්වලට ඇතුළත් කිරීමට පටන් ගත්තේය.

මෙම සටහනෙන්, පාරිභෝගිකයින් බොහෝ විට CMDB හි ඔවුන්ගේ සියලුම උපාංග පිළිබඳ තොරතුරු ගබඩා කරන ජනප්‍රිය තොරතුරු තාක්ෂණ සේවා කළමනාකරණ වේදිකාවක් වන ServiceNow සඳහා ඉන්වෙන්ටරි ප්ලගිනය සමඟ වැඩ කිරීමේ උදාහරණයක් අපි ගනිමු. මීට අමතරව, CMDB හි සේවාදායක හිමිකරුවන්, සේවා මට්ටම් (නිෂ්පාදන/නිෂ්පාදන නොවන), ස්ථාපිත යාවත්කාලීන සහ නඩත්තු කවුළු වැනි ස්වයංක්‍රීයකරණය සඳහා ප්‍රයෝජනවත් වන සන්දර්භය අඩංගු විය හැක. Ansible ඉන්වෙන්ටරි ප්ලගිනය ServiceNow CMDB සමඟ වැඩ කළ හැකි අතර එය එකතුවේ කොටසකි සේවා ද්වාරයෙහි galaxy.ansible.com.

Git ගබඩාව

Ansible Tower හි එකතුවකින් ඉන්වෙන්ටරි ප්ලගිනයක් භාවිතා කිරීමට, එය ව්‍යාපෘති මූලාශ්‍රය ලෙස සැකසිය යුතුය. Ansible Tower හි, ව්‍යාපෘතියක් යනු ස්වයංක්‍රීය ක්‍රීඩා පොත් පමණක් නොව, විචල්‍යයන් සහ ඉන්වෙන්ටරි ලැයිස්තු සමමුහුර්ත කිරීමට භාවිතා කළ හැකි git ගබඩාවක් වැනි අනුවාද පාලන පද්ධතියක් සමඟ ඒකාබද්ධ කිරීමකි.

අපගේ ගබඩාව ඇත්ත වශයෙන්ම ඉතා සරල ය:

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

servicenow.yml ගොනුවේ ප්ලගින ඉන්වෙන්ටරි සඳහා විස්තර අඩංගු වේ. අපගේ නඩුවේදී, අපට භාවිතා කිරීමට අවශ්‍ය ServiceNow CMDB හි වගුව අපි සරලව සඳහන් කරමු. අපි නෝඩ් විචල්‍යයන් ලෙස එකතු කරන ක්ෂේත්‍ර සහ අපට නිර්මාණය කිරීමට අවශ්‍ය කණ්ඩායම් පිළිබඳ නිශ්චිත තොරතුරු ද සකසමු.

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

අපි කිසිම ආකාරයකින් සම්බන්ධ වන ServiceNow අවස්ථාව මෙය සඳහන් නොකරන අතර සම්බන්ධතාවය සඳහා අක්තපත්‍ර කිසිවක් සඳහන් නොකරන බව කරුණාවෙන් සලකන්න. අපි මේ සියල්ල පසුව Ansible Tower හි වින්‍යාස කරන්නෙමු.

ගොනු එකතු කිරීම්/requirements.yml Ansible Tower හට අවශ්‍ය එකතුව බාගත කර එමගින් අවශ්‍ය ඉන්වෙන්ටරි ප්ලගිනය ලබා ගැනීමට අවශ්‍ය වේ. එසේ නොමැතිනම්, අපගේ සියලුම Ansible Tower nodes මත මෙම එකතුව අතින් ස්ථාපනය කර පවත්වාගෙන යාමට අපට සිදුවේ.

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

- name: servicenow.servicenow

අපි මෙම වින්‍යාසය අනුවාද පාලනයට තල්ලු කළ පසු, අපට අනුරූප ගබඩාව යොමු කරන Ansible Tower හි ව්‍යාපෘතියක් නිර්මාණය කළ හැකිය. පහත උදාහරණය Ansible Tower අපගේ github ගබඩාවට සම්බන්ධ කරයි. SCM URL වෙත අවධානය යොමු කරන්න: එය ඔබට පුද්ගලික ගබඩාවකට සම්බන්ධ වීමට ගිණුමක් ලියාපදිංචි කිරීමට මෙන්ම විශේෂිත ශාඛාවක්, ටැග් හෝ පරීක්ෂා කිරීමට කැපවීමට ඉඩ සලසයි.

Ansible Tower හි Ansible අන්තර්ගත එකතුවෙන් ඉන්වෙන්ටරි ප්ලගීන භාවිතා කිරීම

ServiceNow සඳහා අක්තපත්‍ර නිර්මාණය කිරීම

සඳහන් කළ පරිදි, අපගේ ගබඩාවේ ඇති වින්‍යාසය ServiceNow වෙත සම්බන්ධ වීමට අක්තපත්‍ර අඩංගු නොවන අතර අප සන්නිවේදනය කරන ServiceNow අවස්ථාව සඳහන් නොකරයි. එබැවින්, මෙම දත්ත සැකසීමට, අපි Ansible Tower හි අක්තපත්‍ර සාදන්නෙමු. අනුව ServiceNow ඉන්වෙන්ටරි ප්ලගින ලේඛන, අපි සම්බන්ධතා පරාමිතීන් සකසන පරිසර විචල්‍ය ගණනාවක් තිබේ, උදාහරණයක් ලෙස, මේ වගේ:

= 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

මෙම අවස්ථාවේදී, SN_USERNAME පරිසර විචල්‍යය සකසා ඇත්නම්, ඉන්වෙන්ටරි ප්ලගිනය එය ServiceNow වෙත සම්බන්ධ වීමට ගිණුමක් ලෙස භාවිත කරයි.

අපට SN_INSTANCE සහ SN_PASSWORD විචල්‍ය ද සැකසීමට අවශ්‍ය වේ.

කෙසේ වෙතත්, ඔබට ServiceNow සඳහා මෙම දත්ත සඳහන් කළ හැකි Ansible Tower හි මෙම වර්ගයේ අක්තපත්‍ර නොමැත. නමුත් Ansible Tower අපට නිර්වචනය කිරීමට ඉඩ සලසයි අභිරුචි අක්තපත්ර වර්ග, ඔබට මේ ගැන වැඩි විස්තර ලිපියෙන් කියවිය හැකිය "Ansible Tower Feature Spotlight: අභිරුචි අක්තපත්‍ර".

අපගේ නඩුවේදී, ServiceNow සඳහා අභිරුචි අක්තපත්‍ර සඳහා ආදාන වින්‍යාසය මේ ආකාරයෙන් පෙනේ:

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

මෙම අක්තපත්‍ර එකම නම සහිත පරිසර විචල්‍යයන් ලෙස නිරාවරණය වනු ඇත. මෙය ඉන්ජෙක්ටර් වින්‍යාසයේ විස්තර කර ඇත:

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

ඉතින්, අපි අපට අවශ්‍ය අක්තපත්‍ර වර්ගය නිර්වචනය කර ඇත්තෙමු, දැන් අපට ServiceNow ගිණුමක් එක් කර උදාහරණය, ​​පරිශීලක නාමය සහ මුරපදය සැකසිය හැකිය:

Ansible Tower හි Ansible අන්තර්ගත එකතුවෙන් ඉන්වෙන්ටරි ප්ලගීන භාවිතා කිරීම

අපි ඉන්වෙන්ටරි නිර්මාණය කරමු

ඉතින්, දැන් අපි සියල්ලෝම Ansible Tower හි බඩු තොගයක් නිර්මාණය කිරීමට සූදානම්. අපි එය ServiceNow ලෙස හඳුන්වමු:

Ansible Tower හි Ansible අන්තර්ගත එකතුවෙන් ඉන්වෙන්ටරි ප්ලගීන භාවිතා කිරීම

ඉන්වෙන්ටරි නිර්මාණය කිරීමෙන් පසුව, අපට එයට දත්ත මූලාශ්රයක් ඇමිණිය හැකිය. මෙහිදී අපි කලින් නිර්මාණය කළ ව්‍යාපෘතිය සඳහන් කර මූලාශ්‍ර පාලන ගබඩාවේ අපගේ YAML ඉන්වෙන්ටරි ගොනුවට යන මාර්ගය ඇතුළත් කරන්න, අපගේ නඩුවේදී එය ව්‍යාපෘති මූලයේ servicenow.yml වේ. ඊට අමතරව, ඔබ ඔබේ ServiceNow ගිණුම සම්බන්ධ කිරීමට අවශ්‍ය වේ.

Ansible Tower හි Ansible අන්තර්ගත එකතුවෙන් ඉන්වෙන්ටරි ප්ලගීන භාවිතා කිරීම

සෑම දෙයක්ම ක්‍රියා කරන ආකාරය පරීක්ෂා කිරීමට, "සියල්ල සමමුහුර්ත කරන්න" බොත්තම ක්ලික් කිරීමෙන් දත්ත මූලාශ්‍රය සමඟ සමමුහුර්ත කිරීමට උත්සාහ කරමු. සෑම දෙයක්ම නිවැරදිව වින්‍යාස කර ඇත්නම්, නෝඩ් අපගේ ඉන්වෙන්ටරියට ආනයනය කළ යුතුය:

Ansible Tower හි Ansible අන්තර්ගත එකතුවෙන් ඉන්වෙන්ටරි ප්ලගීන භාවිතා කිරීම

අපට අවශ්‍ය කණ්ඩායම් ද නිර්මාණය කර ඇති බව කරුණාවෙන් සලකන්න.

නිගමනය

මෙම සටහනේදී, අපි උදාහරණයක් ලෙස ServiceNow ප්ලගිනය භාවිතා කරමින් Ansible Tower හි එකතු කිරීම් වලින් ඉන්වෙන්ටරි ප්ලගීන භාවිතා කරන්නේ කෙසේදැයි සොයා බැලුවෙමු. අපගේ ServiceNow අවස්ථාවට සම්බන්ධ වීමට අපි ආරක්ෂිතව අක්තපත්‍ර ලියාපදිංචි කළෙමු. ව්‍යාපෘතියකින් ඉන්වෙන්ටරි ප්ලගිනයක් සම්බන්ධ කිරීම තුන්වන පාර්ශ්ව හෝ අභිරුචි ප්ලගීන සමඟ පමණක් ක්‍රියා කරයි, නමුත් සමහර සම්මත ඉන්වෙන්ටරිවල ක්‍රියාකාරිත්වය වෙනස් කිරීමට ද භාවිතා කළ හැක. මෙමගින් Ansible Automation Platform වඩ වඩාත් සංකීර්ණ තොරතුරු තාක්ෂණ පරිසරයන් ස්වයංක්‍රීය කරන විට පවතින මෙවලම් සමඟ ඒකාබද්ධ වීම පහසු සහ බාධාවකින් තොරව සිදු කරයි.

ඔබට මෙම ලිපියේ සාකච්ඡා කර ඇති මාතෘකා පිළිබඳ වැඩිදුර තොරතුරු මෙන්ම Ansible භාවිතා කිරීමේ වෙනත් අංශ, මෙහි සොයා ගත හැක:

* Red Hat මෙහි අඩංගු කේතය නිවැරදි බවට සහතිකයක් ලබා නොදේ. ප්‍රකාශිත ලෙස ප්‍රකාශ නොකළහොත් සියලුම ද්‍රව්‍ය අනුමත නොවන පදනමක් මත සපයනු ලැබේ.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න