Истифодаи плагинҳои инвентаризатсия аз Collections Content дар Ansible Tower

Муҳитҳои IT торафт мураккабтар мешаванд. Дар ин шароит барои системаи автоматикунонии IT дорои маълумоти муосир дар бораи гиреҳҳои дар шабака мавҷудбуда ва коркардшаванда муҳим аст. Дар платформаи Red Hat Ansible Automation, ин масъала тавассути ба ном инвентаризатсия ҳал карда мешавад (инвентаризатсияи) – рӯйхати гиреҳҳои идорашаванда.

Истифодаи плагинҳои инвентаризатсия аз Collections Content дар Ansible Tower

Дар шакли соддатарин инвентаризатсия як файли статикӣ мебошад. Вақте ки шумо бо Ansible кор карданро оғоз мекунед, ин беҳтарин аст, аммо вақте ки автоматизатсия афзоиш меёбад, он нокифоя мешавад.

Ва ин дар ҳолест,

  1. Чӣ тавр шумо рӯйхати пурраи гиреҳҳои назоратшавандаро навсозӣ мекунед ва нигоҳ медоред, вақте ки чизҳо доимо тағир меёбанд, вақте ки сарбории корӣ ва баъдан гиреҳҳое, ки онҳо кор мекунанд, меоянд ва мераванд?
  2. Чӣ гуна ҷузъҳои инфрасохтори IT-ро гурӯҳбандӣ кардан мумкин аст, то ки гиреҳҳоро барои татбиқи автоматикунонии мушаххас интихоб кунанд?

Инвентаризатсияи динамикӣ ба ҳардуи ин саволҳо ҷавоб медиҳад (инвентаризатсияи динамикӣ) – скрипт ё плагин, ки гиреҳҳои автоматикунонидашударо бо истинод ба манбаи ҳақиқат ҷустуҷӯ мекунад. Илова бар ин, инвентаризатсияи динамикӣ гиреҳҳоро ба гурӯҳҳо ба таври худкор тасниф мекунад, то шумо метавонед системаҳои мавриди ҳадафро барои иҷрои автоматизатсияи мушаххаси Ansible дақиқтар интихоб кунед.

Плагинҳои инвентаризатсия ба корбари Ansible имкон медиҳад, ки ба платформаҳои беруна дастрасӣ пайдо кунад, то гиреҳҳои мақсаднокро ба таври динамикӣ ҷустуҷӯ кунад ва ин платформаҳоро ҳамчун манбаи ҳақиқат ҳангоми эҷоди инвентаризатсия истифода барад. Рӯйхати стандартии манбаъҳо дар Ansible платформаҳои абрии AWS EC2, Google GCP ва Microsoft Azure-ро дар бар мегирад ва инчунин бисёр плагинҳои инвентаризатсия барои Ansible мавҷуданд.

Бурҷи Ansible меояд, ки бо як қатор плагинҳои инвентаризатсия, ки бевосита аз қуттӣ кор мекунанд ва ба ғайр аз платформаҳои абрии дар боло номбаршуда, ҳамгироиро бо VMware vCenter, Platform Red Hat OpenStack ва Red Hat Satellite таъмин мекунанд. Барои ин плагинҳо, ба шумо танҳо лозим аст, ки маълумоти эътимодномаро барои пайвастшавӣ ба платформаи мавриди ҳадаф таъмин кунед, ки пас аз он онҳо метавонанд ҳамчун манбаи маълумоти инвентаризатсия дар Tower Ansible истифода шаванд.

Илова ба плагинҳои стандартие, ки ба Tower Ansible дохил карда шудаанд, плагинҳои дигари инвентаризатсия мавҷуданд, ки аз ҷониби ҷомеаи Ansible дастгирӣ карда мешаванд. Бо гузариш ба Маҷмӯаҳои мундариҷаи Red Hat Ansible ин плагинҳо ба маҷмӯаҳои мувофиқ дохил карда шуданд.

Дар ин паём, мо намунаи кор бо плагини инвентаризатсияро барои ServiceNow, платформаи маъмули идоракунии хидматрасонии IT, ки дар он муштариён аксар вақт маълумотро дар бораи ҳамаи дастгоҳҳои худ дар CMDB нигоҳ медоранд, мегирем. Илова бар ин, CMDB метавонад дорои контекстест, ки барои автоматизатсия муфид аст, ба монанди маълумот дар бораи соҳибони сервер, сатҳҳои хидматрасонӣ (истеҳсол/ғайриистеҳсолӣ), навсозиҳои насбшуда ва тирезаҳои нигоҳдорӣ. Васлкунаки инвентаризатсияи Ansible метавонад бо ServiceNow CMDB кор кунад ва як қисми коллексия мебошад замони хидмат дар портал galaxy.ansible.com.

Анбори Git

Барои истифодаи плагини инвентаризатсия аз коллексия дар 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-ро, ки мо ба ҳеҷ ваҷҳ ба он пайваст мешавем, муайян намекунад ва ягон маълумоти эътимоднома барои пайвастшавӣ муайян намекунад. Мо ҳамаи инро баъдтар дар Tower Ansible танзим хоҳем кард.

Коллексияҳои файл/requirements.yml лозим аст, то Tower Ansible коллексияи лозимиро зеркашӣ кунад ва ба ин васила плагини зарурии инвентаризатсияро ба даст орад. Дар акси ҳол, мо бояд ин коллексияро дар ҳама гиреҳҳои Ansible Tower дастӣ насб ва нигоҳ дорем.

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

- name: servicenow.servicenow

Вақте ки мо ин конфигуратсияро ба идоракунии версия тела додем, мо метавонем дар Tower лоиҳае созем, ки ба анбори мувофиқ истинод мекунад. Мисоли дар поён овардашуда Tower Ansible-ро ба анбори github-и мо мепайвандад. Ба URL-и SCM диққат диҳед: он ба шумо имкон медиҳад, ки ҳисобро барои пайвастшавӣ ба анбори хусусӣ сабти ном кунед, инчунин филиал, тег ё ӯҳдадориро барои тафтиш муайян кунед.

Истифодаи плагинҳои инвентаризатсия аз Collections Content дар Ansible Tower

Эҷоди маълумоти эътимоднома барои 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-ро танзим кунем.

Бо вуҷуди ин, дар Ansible Tower ҳеҷ гуна эътимодномаи ин навъи вуҷуд надорад, ки шумо метавонед ин маълумотро барои ServiceNow муайян кунед. Аммо Tower Ansible ба мо имкон медиҳад, ки муайян кунем намудҳои эътимодномаи фармоишӣ, шумо метавонед бештар дар ин бора дар мақола бихонед "Нуктаи хусусияти Tower Ansible: Маълумотномаҳои фармоишӣ".

Дар ҳолати мо, конфигуратсияи вуруд барои маълумоти фармоишӣ барои 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 илова кунем ва мисол, номи корбар ва паролро ба монанди ин муқаррар кунем:

Истифодаи плагинҳои инвентаризатсия аз Collections Content дар Ansible Tower

Мо инвентаризатсия эҷод мекунем

Ҳамин тавр, ҳоло мо ҳама омодаем, ки дар Ansible Tower инвентаризатсия эҷод кунем. Биёед онро ServiceNow меномем:

Истифодаи плагинҳои инвентаризатсия аз Collections Content дар Ansible Tower

Пас аз сохтани инвентаризатсия, мо метавонем ба он манбаи маълумот замима кунем. Дар ин ҷо мо лоиҳаеро, ки қаблан офарида будем, муайян мекунем ва роҳи файли инвентаризатсияи YAML-и худро дар анбори идоракунии манбаъ ворид мекунем, дар ҳолати мо он дар решаи лоиҳа servicenow.yml аст. Илова бар ин, шумо бояд ҳисоби ServiceNow-и худро пайваст кунед.

Истифодаи плагинҳои инвентаризатсия аз Collections Content дар Ansible Tower

Барои санҷидани он, ки ҳама чиз чӣ гуна кор мекунад, биёед кӯшиш кунем, ки бо пахш кардани тугмаи "Ҳамаро ҳамоҳанг созем" бо манбаи маълумот ҳамоҳанг созем. Агар ҳама чиз дуруст танзим шуда бошад, он гоҳ гиреҳҳо бояд ба инвентаризатсияи мо ворид карда шаванд:

Истифодаи плагинҳои инвентаризатсия аз Collections Content дар Ansible Tower

Лутфан қайд кунед, ки гурӯҳҳое, ки ба мо лозиманд, низ таъсис дода шудаанд.

хулоса

Дар ин паём, мо дар бораи истифодаи плагинҳои инвентаризатсия аз коллексияҳо дар Tower Ansible бо истифода аз плагини ServiceNow ҳамчун намуна дида баромадем. Мо инчунин эътимодномаҳоро барои пайваст шудан ба мисоли ServiceNow ба қайд гирифтем. Пайваст кардани плагини инвентаризатсия аз лоиҳа на танҳо бо плагинҳои тарафи сеюм ё фармоишӣ кор мекунад, балки инчунин метавонад барои тағир додани кори баъзе инвентаризатсияҳои стандартӣ истифода шавад. Ин платформаи Ansible Automation-ро барои ҳамгироӣ бо абзорҳои мавҷуда ҳангоми автоматикунонии муҳити торафт мураккаби IT осон ва бефосила месозад.

Шумо метавонед маълумоти бештарро дар бораи мавзӯъҳои дар ин мақола муҳокимашуда ва инчунин ҷанбаҳои дигари истифодаи Ansible дар ин ҷо пайдо кунед:

* Red Hat кафолат намедиҳад, ки рамзи дар ин ҷо мавҷудбуда дуруст аст. Ҳама маводҳо дар асоси ғайрииндоссатсия пешниҳод карда мешаванд, агар тартиби дигаре возеҳ гуфта нашуда бошад.

Манбаъ: will.com

Илова Эзоҳ