Ansible Tower-da Ansible Məzmun Kolleksiyalarından inventar plaginlərindən istifadə

İT mühitləri getdikcə mürəkkəbləşir. Bu şəraitdə İT avtomatlaşdırma sisteminin şəbəkədə mövcud olan və emal olunan qovşaqlar haqqında ən son məlumatlara malik olması çox vacibdir. Red Hat Ansible Automation Platform-da bu problem sözdə inventar vasitəsilə həll olunur (inventar) – idarə olunan qovşaqların siyahıları.

Ansible Tower-da Ansible Məzmun Kolleksiyalarından inventar plaginlərindən istifadə

Ən sadə formada inventar statik fayldır. Bu, Ansible ilə işləməyə başladığınız zaman idealdır, lakin avtomatlaşdırma artdıqca qeyri-kafi olur.

Və niyə görə:

  1. İşlər daim dəyişdikdə, iş yükləri və sonradan onların işlədiyi qovşaqlar gəlib-gedəndə nəzarət edilən qovşaqların tam siyahısını necə yeniləyir və saxlayırsınız?
  2. Müəyyən bir avtomatlaşdırmanın tətbiqi üçün xüsusi qovşaqları seçmək üçün İT infrastrukturunun komponentlərini necə təsnif etmək olar?

Dinamik inventar bu sualların hər ikisinə cavab verir (dinamik inventar) – həqiqət mənbəyinə istinad edərək avtomatlaşdırılacaq qovşaqları axtaran skript və ya plagin. Bundan əlavə, dinamik inventar avtomatik olaraq qovşaqları qruplara təsnif edir ki, siz xüsusi Ansible avtomatlaşdırmasını yerinə yetirmək üçün hədəf sistemləri daha dəqiq seçə biləsiniz.

İnventar plaginləri Ansible istifadəçisinə hədəf qovşaqlarını dinamik şəkildə axtarmaq üçün xarici platformalara daxil olmaq və inventar yaratarkən bu platformalardan həqiqət mənbəyi kimi istifadə etmək imkanı verin. Ansible-dəki standart mənbələr siyahısına bulud platformaları AWS EC2, Google GCP və Microsoft Azure daxildir və Ansible üçün bir çox digər inventar plaginləri də var.

Ansible Tower bir sıra ilə gəlir inventar plaginləri, yuxarıda sadalanan bulud platformalarına əlavə olaraq, VMware vCenter, Red Hat OpenStack Platformu və Red Hat Satellite ilə inteqrasiyanı təmin edir. Bu plaginlər üçün sadəcə hədəf platformaya qoşulmaq üçün etimadnamələri təqdim etməlisiniz, bundan sonra onlar Ansible Tower-də inventar məlumat mənbəyi kimi istifadə edilə bilər.

Ansible Tower-a daxil olan standart plaginlərə əlavə olaraq, Ansible icması tərəfindən dəstəklənən digər inventar plaginləri də var. -ə keçidlə Red Hat Ansible Məzmun Kolleksiyaları bu plaginlər müvafiq kolleksiyalara daxil edilməyə başladı.

Bu yazıda müştərilərin tez-tez bütün cihazları haqqında məlumatları CMDB-də saxladıqları məşhur İT xidmətlərini idarəetmə platforması olan ServiceNow üçün inventar plagini ilə işləmək nümunəsini götürəcəyik. Bundan əlavə, CMDB server sahibləri, xidmət səviyyələri (istehsal/qeyri-istehsal), quraşdırılmış yeniləmələr və texniki xidmət pəncərələri haqqında məlumat kimi avtomatlaşdırma üçün faydalı olan kontekstdən ibarət ola bilər. Ansible inventar plagini ServiceNow CMDB ilə işləyə bilər və kolleksiyanın bir hissəsidir xidmət portalda galaxy.ansible.com.

Git deposu

Ansible Tower kolleksiyasındakı inventar plaginindən istifadə etmək üçün o, layihə mənbəyi kimi təyin edilməlidir. Ansible Tower-də layihə yalnız avtomatlaşdırma oyun kitablarını deyil, həm də dəyişənləri və inventar siyahılarını sinxronlaşdırmaq üçün istifadə edilə bilən git deposu kimi bir növ versiya idarəetmə sistemi ilə inteqrasiyadır.

Bizim depomuz əslində çox sadədir:

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

servicenow.yml faylı plagin inventarının təfərrüatlarını ehtiva edir. Bizim vəziyyətimizdə sadəcə ServiceNow CMDB-də istifadə etmək istədiyimiz cədvəli təyin edirik. Biz həmçinin node dəyişənləri kimi əlavə olunacaq sahələri, üstəlik yaratmaq istədiyimiz qruplar haqqında müəyyən məlumatları təyin edirik.

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

Nəzərə alın ki, bu, heç bir şəkildə qoşulacağımız ServiceNow instansiyasını göstərmir və qoşulma üçün heç bir etimadnaməsini göstərmir. Bütün bunları daha sonra Ansible Tower-da konfiqurasiya edəcəyik.

Fayl kolleksiyaları/requirements.yml Ansible Tower tələb olunan kolleksiyanı yükləyə və bununla da tələb olunan inventar plaginini əldə edə bilməlidir. Əks halda, bu kolleksiyanı bütün Ansible Tower qovşaqlarımızda əl ilə quraşdırmalı və saxlamalı olacağıq.

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

- name: servicenow.servicenow

Bu konfiqurasiyanı versiya nəzarətinə köçürdükdən sonra biz Ansible Tower-da müvafiq depoya istinad edən layihə yarada bilərik. Aşağıdakı nümunə Ansible Tower-ı github repozitorumuzla əlaqələndirir. SCM URL-inə diqqət yetirin: o, şəxsi repozitoriyaya qoşulmaq üçün hesabı qeydiyyatdan keçirməyə, həmçinin xüsusi filial, etiket və ya yoxlama öhdəliyini təyin etməyə imkan verir.

Ansible Tower-da Ansible Məzmun Kolleksiyalarından inventar plaginlərindən istifadə

ServiceNow üçün etimadnamələrin yaradılması

Qeyd edildiyi kimi, anbarımızdakı konfiqurasiya ServiceNow-a qoşulmaq üçün etimadnamələri ehtiva etmir və əlaqə saxlayacağımız ServiceNow instansiyasını göstərmir. Buna görə də, bu məlumatları təyin etmək üçün biz Ansible Tower-da etimadnamələr yaradacağıq. görə ServiceNow inventar plagin sənədləri, əlaqə parametrlərini təyin edəcəyimiz bir sıra mühit dəyişənləri var, məsələn, bu kimi:

= 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

Bu halda, SN_USERNAME mühit dəyişəni təyin edilibsə, inventar plagini ondan ServiceNow-a qoşulmaq üçün hesab kimi istifadə edəcək.

Biz həmçinin SN_INSTANCE və SN_PASSWORD dəyişənlərini təyin etməliyik.

Bununla belə, Ansible Tower-da ServiceNow üçün bu məlumatları təyin edə biləcəyiniz bu tip etimadnamələr yoxdur. Amma Ansible Tower bizə müəyyən etməyə imkan verir fərdi etimadnamə növləri, bu barədə daha ətraflı məqalədə oxuya bilərsiniz "Ansible Tower Feature Spotlight: Xüsusi Etibarnamələr".

Bizim vəziyyətimizdə ServiceNow üçün xüsusi etimadnamələr üçün giriş konfiqurasiyası belə görünür:

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

Bu etimadnamələr eyni adlı mühit dəyişənləri kimi ifşa olunacaq. Bu, enjektör konfiqurasiyasında təsvir edilmişdir:

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

Beləliklə, ehtiyac duyduğumuz etimadnamə növünü təyin etdik, indi ServiceNow hesabı əlavə edə və misal, istifadəçi adı və şifrəni belə təyin edə bilərik:

Ansible Tower-da Ansible Məzmun Kolleksiyalarından inventar plaginlərindən istifadə

Biz inventar yaradırıq

Beləliklə, indi hamımız Ansible Tower-da inventar yaratmağa hazırıq. Gəlin onu ServiceNow adlandıraq:

Ansible Tower-da Ansible Məzmun Kolleksiyalarından inventar plaginlərindən istifadə

İnventar yaratdıqdan sonra ona məlumat mənbəyi əlavə edə bilərik. Burada biz əvvəllər yaratdığımız layihəni müəyyənləşdiririk və mənbə idarəetmə repozitoriyasına YAML inventar faylımıza gedən yolu daxil edirik, bizim halda layihə kökündə servicenow.yml-dir. Bundan əlavə, siz ServiceNow hesabınızı əlaqələndirməlisiniz.

Ansible Tower-da Ansible Məzmun Kolleksiyalarından inventar plaginlərindən istifadə

Hər şeyin necə işlədiyini yoxlamaq üçün gəlin “Hamısını sinxronlaşdır” düyməsini klikləməklə məlumat mənbəyi ilə sinxronizasiya etməyə çalışaq. Hər şey düzgün qurulubsa, qovşaqlar inventarımıza idxal edilməlidir:

Ansible Tower-da Ansible Məzmun Kolleksiyalarından inventar plaginlərindən istifadə

Nəzərə alın ki, bizə lazım olan qruplar da yaradılıb.

Nəticə

Bu yazıda nümunə olaraq ServiceNow plaginindən istifadə edərək Ansible Tower-da kolleksiyalardan inventar plaginlərindən necə istifadə olunacağına baxdıq. Biz həmçinin ServiceNow instansiyamıza qoşulmaq üçün etimadnamələri təhlükəsiz şəkildə qeydiyyatdan keçirdik. Layihədən inventar plaginini əlaqələndirmək yalnız üçüncü tərəf və ya xüsusi plaginlərlə işləmir, həm də bəzi standart inventarların işini dəyişdirmək üçün istifadə edilə bilər. Bu, getdikcə mürəkkəbləşən İT mühitlərini avtomatlaşdırarkən Ansible Automation Platform-u mövcud alətlərlə asan və qüsursuz inteqrasiya edir.

Bu yazıda müzakirə olunan mövzular, eləcə də Ansible-dan istifadənin digər aspektləri haqqında daha çox məlumatı burada tapa bilərsiniz:

*Red Hat buradakı kodun düzgün olduğuna heç bir zəmanət vermir. Əksi açıq şəkildə göstərilmədiyi təqdirdə bütün materiallar qeyri-indossasiya əsasında verilir.

Mənbə: www.habr.com

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