Ansible Tower ішіндегі Ansible Content Collections инвентарлық плагиндерін пайдалану

АТ орталары барған сайын күрделене түсуде. Мұндай жағдайларда АТ автоматтандыру жүйесінде желіде бар және өңдеуге жататын түйіндер туралы жаңартылған ақпарат болуы өте маңызды. Red Hat Ansible Automation Platform-да бұл мәселе түгендеу деп аталатын жолмен шешіледі (түгендеу) – басқарылатын түйіндердің тізімдері.

Ansible Tower ішіндегі Ansible Content Collections инвентарлық плагиндерін пайдалану

Қарапайым түрде түгендеу – бұл статикалық файл. Бұл 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 қауымдастығы қолдайтын басқа инвентарлық плагиндер бар. ауысуымен 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 бағдарламасында конфигурациялаймыз.

Файл жинақтары/талаптар.yml Ansible Tower қажетті топтаманы жүктеп алуы және сол арқылы қажетті түгендеу плагинін алуы үшін қажет. Әйтпесе, бұл топтаманы барлық Ansible Tower түйіндерінде қолмен орнатуға және қолдауға тура келеді.

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

- name: servicenow.servicenow

Бұл конфигурацияны нұсқаны басқаруға ауыстырғаннан кейін, Ansible Tower бағдарламасында сәйкес репозиторийге сілтеме жасайтын жоба жасай аламыз. Төмендегі мысал Ansible Tower қолданбасын github репозиторийіне байланыстырады. SCM URL мекенжайына назар аударыңыз: ол жеке репозиторийге қосылу үшін тіркелгіні тіркеуге, сондай-ақ нақты филиалды, тегті немесе тексеруге міндеттемені көрсетуге мүмкіндік береді.

Ansible Tower ішіндегі Ansible Content Collections инвентарлық плагиндерін пайдалану

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 функциясының назар аударатын орталығы: пайдаланушы тіркелгі деректері».

Біздің жағдайда 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 Content Collections инвентарлық плагиндерін пайдалану

Біз инвентаризация жасаймыз

Сонымен, қазір біз Ansible Tower-те түгендеу жасауға дайынбыз. Оны ServiceNow деп атаймыз:

Ansible Tower ішіндегі Ansible Content Collections инвентарлық плагиндерін пайдалану

Түгендеуді жасағаннан кейін оған деректер көзін тіркей аламыз. Мұнда біз бұрын жасалған жобаны көрсетеміз және бастапқы басқару репозиторийіне YAML түгендеу файлына жолды енгіземіз, біздің жағдайда бұл жоба түбірінде servicenow.yml. Оған қоса, ServiceNow тіркелгіңізді байланыстыруыңыз қажет.

Ansible Tower ішіндегі Ansible Content Collections инвентарлық плагиндерін пайдалану

Барлығы қалай жұмыс істейтінін тексеру үшін «Барлығын синхрондау» түймесін басу арқылы деректер көзімен синхрондауға тырысайық. Егер бәрі дұрыс конфигурацияланған болса, онда түйіндер біздің түгендеуімізге импортталуы керек:

Ansible Tower ішіндегі Ansible Content Collections инвентарлық плагиндерін пайдалану

Бізге қажетті топтар да құрылғанын ескеріңіз.

қорытынды

Бұл жазбада мысал ретінде ServiceNow плагинін пайдаланып Ansible Tower коллекцияларынан түгендеу плагиндерін қалай пайдалану керектігін қарастырдық. Біз сондай-ақ ServiceNow данасына қосылу үшін тіркелгі деректерін қауіпсіз тіркедік. Жобадан түгендеу плагинін байланыстыру үшінші тарап немесе пайдаланушы плагиндерімен ғана жұмыс істемейді, сонымен қатар кейбір стандартты қорлардың жұмысын өзгерту үшін де пайдаланылуы мүмкін. Бұл Ansible Automation платформасын барған сайын күрделі АТ орталарын автоматтандыру кезінде бар құралдармен біріктіруді оңай және біркелкі етеді.

Сіз осы постта талқыланған тақырыптар, сондай-ақ Ansible пайдаланудың басқа аспектілері туралы қосымша ақпаратты мына жерден таба аласыз:

*Red Hat осы құжаттағы кодтың дұрыстығына кепілдік бермейді. Барлық материалдар, егер басқаша тікелей көрсетілмесе, индоссамент негізінде беріледі.

Ақпарат көзі: www.habr.com

пікір қалдыру