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 համայնքի կողմից: Անցումով դեպի Red Hat Ansible բովանդակության հավաքածուներ այս պլագինները սկսեցին ներառվել համապատասխան հավաքածուներում։

Այս գրառման մեջ մենք օրինակ կբերենք ServiceNow-ի՝ ՏՏ ծառայությունների կառավարման հանրահայտ հարթակի՝ գույքագրման հավելվածի հետ աշխատելու օրինակ, որտեղ հաճախորդները հաճախ պահում են տեղեկատվություն իրենց բոլոր սարքերի մասին CMDB-ում: Բացի այդ, CMDB-ն կարող է պարունակել ավտոմատացման համար օգտակար ենթատեքստ, ինչպիսիք են սերվերի սեփականատերերի, ծառայության մակարդակների (արտադրական/ոչ արտադրական), տեղադրված թարմացումների և սպասարկման պատուհանների մասին տեղեկությունները: Ansible գույքագրման հավելվածը կարող է աշխատել ServiceNow CMDB-ի հետ և հավաքածուի մի մասն է սպասարկող պորտալում galaxy.ansible.com.

Git պահոց

Ansible Tower-ի հավաքածուից գույքագրման հավելված օգտագործելու համար այն պետք է սահմանվի որպես նախագծի աղբյուր: Ansible Tower-ում նախագիծը ինտեգրում է տարբերակների կառավարման ինչ-որ համակարգի հետ, ինչպիսին է git պահեստը, որը կարող է օգտագործվել ոչ միայն ավտոմատացման գրքույկների, այլև փոփոխականների և գույքագրման ցուցակների համաժամացման համար:

Մեր շտեմարանը իրականում շատ պարզ է.

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

Servicenow.yml ֆայլը պարունակում է մանրամասներ plugin-ի գույքագրման համար: Մեր դեպքում մենք պարզապես նշում ենք աղյուսակը 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 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 Feature Spotlight. Custom Credentials».

Մեր դեպքում, 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-ը չի երաշխավորում, որ այստեղ պարունակվող կոդը ճիշտ է: Բոլոր նյութերը տրամադրվում են չհաստատման հիմունքներով, եթե այլ բան ուղղակիորեն նշված չէ:

Source: www.habr.com

Добавить комментарий