ИзползванС Π½Π° Π΄ΠΎΠ±Π°Π²ΠΊΠΈ Π·Π° ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€ ΠΎΡ‚ Ansible Content Collections Π² Ansible Tower

ИВ срСдитС стават всС ΠΏΠΎ-слоТни. Π’ Ρ‚Π΅Π·ΠΈ условия Π΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ Π·Π° ИВ систСмата Π·Π° автоматизация Π΄Π° Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π° с Π°ΠΊΡ‚ΡƒΠ°Π»Π½Π° информация Π·Π° Π²ΡŠΠ·Π»ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²Π°Ρ‚ Π² ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΈ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‚ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. Π’ Red Hat Ansible Automation Platform Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π΅ Ρ€Π΅ΡˆΠ΅Π½ Ρ‡Ρ€Π΅Π· Ρ‚Π°ΠΊΠ° Π½Π°Ρ€Π΅Ρ‡Π΅Π½Π°Ρ‚Π° инвСнтаризация (опис) – ΡΠΏΠΈΡΡŠΡ†ΠΈ с управлявани възли.

ИзползванС Π½Π° Π΄ΠΎΠ±Π°Π²ΠΊΠΈ Π·Π° ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€ ΠΎΡ‚ Ansible Content Collections Π² Ansible Tower

Π’ Π½Π°ΠΉ-простата си Ρ„ΠΎΡ€ΠΌΠ° ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€ΡŠΡ‚ Π΅ статичСн Ρ„Π°ΠΉΠ». Π’ΠΎΠ²Π° Π΅ ΠΈΠ΄Π΅Π°Π»Π½ΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с Ansible, Π½ΠΎ с нарастванСто Π½Π° автоматизацията става Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ.

Π•Ρ‚ΠΎ Π·Π°Ρ‰ΠΎ:

  1. Как Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΈ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚Π΅ пълСн списък Π½Π° Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Π½ΠΈΡ‚Π΅ възли, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π½Π΅Ρ‰Π°Ρ‚Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ сС промСнят, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ‚Π΅ натоварвания β€” ΠΈ впослСдствиС Π²ΡŠΠ·Π»ΠΈΡ‚Π΅, Π²ΡŠΡ€Ρ…Ρƒ ΠΊΠΎΠΈΡ‚ΠΎ работят β€” ΠΈΠ΄Π²Π°Ρ‚ ΠΈ си ΠΎΡ‚ΠΈΠ²Π°Ρ‚?
  2. Как Π΄Π° класифицирамС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° ИВ инфраструктурата, Π·Π° Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ възли Π·Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° автоматизация?

Π”ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Π°Ρ‚Π° инвСнтаризация Π΄Π°Π²Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ ΠΈ Π½Π° Π΄Π²Π°Ρ‚Π° Π²ΡŠΠΏΡ€ΠΎΡΠ° (Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Π° инвСнтаризация) – скрипт ΠΈΠ»ΠΈ плъгин, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‚ΡŠΡ€ΡΠΈ възли Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅, ΠΊΠ°Ρ‚ΠΎ сС ΠΏΠΎΠ·ΠΎΠ²Π°Π²Π° Π½Π° ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊΠ° Π½Π° истината. Π’ допълнСниС, динамичният ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ класифицира Π²ΡŠΠ·Π»ΠΈΡ‚Π΅ Π² Π³Ρ€ΡƒΠΏΠΈ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎ-Ρ‚ΠΎΡ‡Π½ΠΎ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ Ρ†Π΅Π»Π΅Π²ΠΈ систСми Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° спСцифична автоматизация Π½Π° Ansible.

Плъгини Π·Π° инвСнтаризация Π΄Π°Π²Π°Ρ‚ Π½Π° потрСбитСля Π½Π° Ansible Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ външни ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° Ρ†Π΅Π»Π΅Π²ΠΈ възли ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Ρ‚Π΅Π·ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ Π½Π° истина ΠΏΡ€ΠΈ създаванС Π½Π° ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€. Бтандартният списък с ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈ Π² Ansible Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΎΠ±Π»Π°Ρ‡Π½ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ AWS EC2, Google GCP ΠΈ Microsoft Azure, Π° ΠΈΠΌΠ° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ Π·Π° инвСнтаризация Π·Π° Ansible.

Ansible Tower ΠΈΠ΄Π²Π° с Ρ€Π΅Π΄ΠΈΡ†Π° плъгини Π·Π° инвСнтаризация, ΠΊΠΎΠΈΡ‚ΠΎ работят Π½Π°ΠΏΡ€Π°Π²ΠΎ ΠΎΡ‚ кутията ΠΈ Π² допълнСниС към ΠΎΠ±Π»Π°Ρ‡Π½ΠΈΡ‚Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ, ΠΈΠ·Π±Ρ€ΠΎΠ΅Π½ΠΈ ΠΏΠΎ-Π³ΠΎΡ€Π΅, осигуряват интСграция с VMware vCenter, Red Hat OpenStack Platform ΠΈ Red Hat Satellite. Π—Π° Ρ‚Π΅Π·ΠΈ плъгини трябва само Π΄Π° прСдоставитС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ с Ρ†Π΅Π»Π΅Π²Π°Ρ‚Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ Π½Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€Π° Π² Ansible Tower.

Π’ допълнСниС към стандартнитС Π΄ΠΎΠ±Π°Π²ΠΊΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ Π² Ansible Tower, ΠΈΠΌΠ° Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ Π·Π° ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈ ΠΎΡ‚ общността Π½Π° Ansible. Π‘ ΠΏΡ€Π΅Ρ…ΠΎΠ΄Π° към ΠšΠΎΠ»Π΅ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ Ansible Π½Π° Red Hat Ρ‚Π΅Π·ΠΈ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…Π° Π΄Π° сС Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ Π² ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ»Π΅ΠΊΡ†ΠΈΠΈ.

Π’ Ρ‚Π°Π·ΠΈ публикация Ρ‰Π΅ Π²Π·Π΅ΠΌΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с плъгина Π·Π° инвСнтаризация Π·Π° ServiceNow, популярна ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ИВ услуги, Π² която ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ чСсто ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ информация Π·Π° всички свои устройства Π² CMDB. Π’ допълнСниС, 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.

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

- name: servicenow.servicenow

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΠΌ Ρ‚Π°Π·ΠΈ конфигурация към ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° вСрсиитС, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° създадСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² Ansible Tower, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‰Π° към ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΡŠΡ‚ ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ ΡΠ²ΡŠΡ€Π·Π²Π° Ansible Tower с Π½Π°ΡˆΠ΅Ρ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π² github. ΠžΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° SCM URL адрСса: Ρ‚ΠΎΠΉ Π²ΠΈ позволява Π΄Π° рСгистриратС Π°ΠΊΠ°ΡƒΠ½Ρ‚, Π·Π° Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ с частно Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π΄Π° посочитС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ ΠΊΠ»ΠΎΠ½, Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ ΠΈΠ»ΠΈ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°.

ИзползванС Π½Π° Π΄ΠΎΠ±Π°Π²ΠΊΠΈ Π·Π° ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€ ΠΎΡ‚ Ansible Content Collections Π² 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. Но Ansible Tower Π½ΠΈ позволява Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°ΠΌΠ΅ пСрсонализирани Ρ‚ΠΈΠΏΠΎΠ²Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° Ρ‚ΠΎΠ²Π° Π² статията β€žΠ’ Ρ†Π΅Π½Ρ‚ΡŠΡ€Π° Π½Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° функцията Π½Π° Ansible Tower: ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈβ€œ.

Π’ нашия случай Π²Ρ…ΠΎΠ΄Π½Π°Ρ‚Π° конфигурация Π·Π° пСрсонализирани ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° 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 Content Collections Π² Ansible Tower

НиС създавамС ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€

И Ρ‚Π°ΠΊΠ°, сСга всички смС Π³ΠΎΡ‚ΠΎΠ²ΠΈ Π΄Π° създадСм ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€ Π² Ansible Tower. НСка Π³ΠΎ Π½Π°Ρ€Π΅Ρ‡Π΅ΠΌ ServiceNow:

ИзползванС Π½Π° Π΄ΠΎΠ±Π°Π²ΠΊΠΈ Π·Π° ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€ ΠΎΡ‚ Ansible Content Collections Π² Ansible Tower

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ създадСм ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€Π°, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€ΠΈΠΊΠ°Ρ‡ΠΈΠΌ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ Π½Π° Π΄Π°Π½Π½ΠΈ към Π½Π΅Π³ΠΎ. Π’ΡƒΠΊ посочвамС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΠΉΡ‚ΠΎ ΡΡŠΠ·Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅ ΠΏΠΎ-Ρ€Π°Π½ΠΎ, ΠΈ въвСТдамС ΠΏΡŠΡ‚Ρ Π΄ΠΎ нашия YAML ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€Π΅Π½ Ρ„Π°ΠΉΠ» Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊΠ°, Π² нашия случай Ρ‚ΠΎΠ²Π° Π΅ servicenow.yml Π² ΠΊΠΎΡ€Π΅Π½Π° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ОсвСн Ρ‚ΠΎΠ²Π° трябва Π΄Π° ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ своя Π°ΠΊΠ°ΡƒΠ½Ρ‚ Π² ServiceNow.

ИзползванС Π½Π° Π΄ΠΎΠ±Π°Π²ΠΊΠΈ Π·Π° ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€ ΠΎΡ‚ Ansible Content Collections Π² Ansible Tower

Π—Π° Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ всичко, Π½Π΅ΠΊΠ° сС ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ Π΄Π° синхронизирамС с ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠ°Ρ‚ΠΎ Ρ‰Ρ€Π°ΠΊΠ½Π΅Ρ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ Π±ΡƒΡ‚ΠΎΠ½Π° β€žΠ‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π²ΡΠΈΡ‡ΠΊΠΈβ€œ. Ако всичко Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ, Ρ‚ΠΎΠ³Π°Π²Π° Π²ΡŠΠ·Π»ΠΈΡ‚Π΅ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½ΠΈ Π² нашия ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€:

ИзползванС Π½Π° Π΄ΠΎΠ±Π°Π²ΠΊΠΈ Π·Π° ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€ ΠΎΡ‚ Ansible Content Collections Π² Ansible Tower

Моля, ΠΈΠΌΠ°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄, Ρ‡Π΅ Π³Ρ€ΡƒΠΏΠΈΡ‚Π΅, ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ сС Π½ΡƒΠΆΠ΄Π°Π΅ΠΌ, ΡΡŠΡ‰ΠΎ са създадСни.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Ρ‚Π°Π·ΠΈ публикация Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρ…ΠΌΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ плъгини Π·Π° ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€ ΠΎΡ‚ ΠΊΠΎΠ»Π΅ΠΊΡ†ΠΈΠΈ Π² Ansible Tower, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ плъгина ServiceNow ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. НиС ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° сигурно рСгистрирахмС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ с нашия СкзСмпляр Π½Π° ServiceNow. Π‘Π²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° плъгин Π·Π° инвСнтаризация ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π΅ само с плъгини Π½Π° Ρ‚Ρ€Π΅Ρ‚ΠΈ страни ΠΈΠ»ΠΈ пСрсонализирани плъгини, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈ Π·Π° промяна Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° някои стандартни ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ΠΎΠ²Π° ΠΏΡ€Π°Π²ΠΈ Ansible Automation Platform лСсна ΠΈ Π±Π΅Π·ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Π° Π·Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½Π΅ със ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ инструмСнти ΠΏΡ€ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° всС ΠΏΠΎ-слоТни ИВ срСди.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ информация относно Ρ‚Π΅ΠΌΠΈΡ‚Π΅, обсъТдани Π² Ρ‚Π°Π·ΠΈ публикация, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ аспСкти Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ansible, Ρ‚ΡƒΠΊ:

*Red Hat Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°, Ρ‡Π΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ΠΈΡΡ‚ сС Ρ‚ΡƒΠΊ ΠΊΠΎΠ΄ Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π΅Π½. Всички ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈ сС прСдоставят Π±Π΅Π· ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅, освСн Π°ΠΊΠΎ ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ Π½Π΅ Π΅ посочСно Π΄Ρ€ΡƒΠ³ΠΎ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€