Di Ansible Tower de pêvekên envanterê ji Koleksiyonên Naveroka Ansible bikar tînin

Jîngehên IT-ê her ku diçe tevlihevtir dibin. Di van şert û mercan de, ji bo pergala otomasyona IT-ê girîng e ku agahdariya nûjen li ser girêkên ku di torê de hene û di bin pêvajoyê de ne hebe. Di Platforma Xweseriya Red Hat Ansible de, ev pirsgirêk bi navgîniya binavkirî tê çareser kirin (ambaran de) - navnîşên girêkên birêvebir.

Di Ansible Tower de pêvekên envanterê ji Koleksiyonên Naveroka Ansible bikar tînin

Di forma xweya herî hêsan de, envanter pelek statîk e. Dema ku hûn bi Ansible re dest bi xebatê bikin ev îdeal e, lê her ku otomasyon zêde dibe, ew têrê nake.

Va ye vê yekê:

  1. Hûn çawa navnîşek bêkêmasî ya girêkên çavdêrîkirî nûve dikin û diparêzin dema ku tişt bi domdarî diguhezin, dema ku barkêşan-û dûv re jî girêkên ku ew li ser dimeşin- tên û diçin?
  2. Meriv çawa hêmanên binesaziya IT-ê dabeş dike da ku bi taybetî girêkan ji bo sepandina otomasyonek taybetî hilbijêrin?

Envantera dînamîk bersiva van herdu pirsan dide (envantera dînamîk) - Skrîptek an pêvekek ku li nodên otomatîkî digere, li çavkaniya rastiyê vedigere. Digel vê yekê, envantera dînamîkî bixwe girêkan di koman de dabeş dike, da ku hûn ji bo pêkanîna xweseriya Ansible-ya taybetî pergalên armanc hilbijêrin.

pêvekên envanterê bide bikarhênerê Ansible ku bikaribe bigihîje platformên derveyî da ku bi dînamîk li girêkên armancê bigere û dema ku tomarokek diafirîne van platforman wekî çavkaniyek rastiyê bikar bîne. Navnîşa standard a çavkaniyan di Ansible de platformên ewr AWS EC2, Google GCP û Microsoft Azure vedihewîne, û ji bo Ansible gelek pêvekên din ên hilanînê jî hene.

Ansible Tower bi hejmarek tê pêvekên envanterê, ku rast ji qutikê dixebitin û, ji bilî platformên ewr ên ku li jor hatine destnîşan kirin, bi VMware vCenter, Platforma Red Hat OpenStack û Red Hat Satellite re entegrasyonê peyda dikin. Ji bo van pêvekan, hûn tenê hewce ne ku pêbaweriyan peyda bikin da ku hûn bi platforma armancê ve girêbidin, piştî ku ew dikarin wekî çavkaniyek daneyên hilanînê di Ansible Tower de werin bikar anîn.

Ji xeynî pêvekên standard ên ku bi Ansible Tower-ê re têkildar in, pêvekên din ên envanterê hene ku ji hêla civata Ansible ve têne piştgirî kirin. Bi derbasbûna ji bo Koleksiyonên Naveroka Red Hat Ansible van pêvekan dest pê kirin ku di berhevokên têkildar de werin bicîh kirin.

Di vê postê de, em ê mînakek xebata bi pêveka depoyê ji bo ServiceNow, platformek rêveberiya karûbarê IT-ya populer a ku tê de xerîdar bi gelemperî agahdariya hemî amûrên xwe di CMDB de hilînin, mînakek bigirin. Wekî din, CMDB dikare çarçoveyek ku ji bo otomasyonê bikêr e, wekî agahdariya li ser xwedan server, astên karûbarê (hilberîn / nehilberîn), nûvekirinên sazkirî, û pencereyên lênihêrînê vedihewîne. Pêveka depoya Ansible dikare bi ServiceNow CMDB re bixebite û beşek ji berhevokê ye servicenow li portal galaxy.ansible.com.

Depoya Git

Ji bo ku pêvekek envanterê ji berhevokek li Ansible Tower bikar bînin, divê ew wekî çavkaniya projeyê were danîn. Di Ansible Tower de, projeyek bi cûreyek pergala kontrola guhertoyê re yekbûnek e, mîna depoyek git, ku dikare were bikar anîn da ku ne tenê pirtûkên lîstikên otomasyonê, lê di heman demê de guhêrbar û navnîşên depoyê jî hevdeng bike.

Depoya me bi rastî pir hêsan e:

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

Di pelê servicenow.yml de hûrguliyên ji bo envantera pêvekê heye. Di doza me de, em bi tenê tabloya di ServiceNow CMDB ya ku em dixwazin bikar bînin diyar dikin. Di heman demê de me qadên ku dê wekî guhêrbarên nodê werin zêdekirin destnîşan dikin, û li ser komên ku em dixwazin biafirînin hin agahdarî jî destnîşan dikin.

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

Ji kerema xwe not bikin ku ev mînaka ServiceNow ya ku em ê bi ti awayî pê ve girêbidin diyar nake, û ji bo girêdanê pêbaweriyek diyar nake. Em ê van hemî paşê li Ansible Tower mîheng bikin.

Koleksiyonên pelan/requirements.yml pêdivî ye ku Ansible Tower bikaribe berhevoka hewce dakêşîne û bi vî rengî pêveka depoya pêwîst bistîne. Wekî din, pêdivî ye ku em bi destan vê berhevokê li ser hemî girêkên xwe yên Ansible Tower saz bikin û biparêzin.

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

- name: servicenow.servicenow

Dema ku me ev veavakirin ber bi kontrolkirina guhertoyê ve bir, em dikarin di Ansible Tower de projeyek biafirînin ku depoya têkildar referans dike. Mînaka jêrîn Ansible Tower bi depoya meya github ve girêdide. Bala xwe bidin URL-ya SCM: ew dihêle hûn hesabek tomar bikin da ku hûn bi depoyek taybet ve girêbidin, û her weha şaxek taybetî, etîketek diyar bikin an jî ji bo kontrolê bikin.

Di Ansible Tower de pêvekên envanterê ji Koleksiyonên Naveroka Ansible bikar tînin

Afirandina pêbaweriyên ji bo ServiceNow

Wekî ku hate behs kirin, veavakirina di depoya me de pêbaweriyên ji bo girêdana bi ServiceNow re nagire û mînaka ServiceNow ya ku em ê pê re têkilî daynin diyar nake. Ji ber vê yekê, ji bo danîna van daneyan, em ê di Ansible Tower de pêbaweriyan biafirînin. Ligor Belgekirina pêveka envanterê ya ServiceNow, hejmarek guhêrbarên hawirdorê hene ku em ê pê wan pîvanên pêwendiyê saz bikin, mînakî, bi vî rengî:

= 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

Di vê rewşê de, heke guhêrbara hawîrdorê ya SN_USERNAME were danîn, pêveka tomarkirinê dê wê wekî hesabek bikar bîne da ku bi ServiceNow ve girêbide.

Her weha pêdivî ye ku em guhêrbarên SN_INSTANCE û SN_PASSWORD saz bikin.

Lêbelê, di Ansible Tower de pêbaweriyên bi vî rengî tune ku hûn dikarin van daneyan ji bo ServiceNow diyar bikin. Lê Ansible Tower destûrê dide me ku em pênase bikin cureyên pêbawerên xwerû, hûn dikarin li ser vê gotarê bêtir bixwînin "Taybetmendiya Ansible Tower Spotlight: Qeydeyên Xweser".

Di doza me de, veavakirina têketinê ji bo pêbaweriyên xwerû yên ji bo ServiceNow wiha xuya dike:

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

Dê ev pêbawer wekî guhêrbarên hawîrdorê yên bi heman navî werin xuyang kirin. Ev di veavakirina injektorê de tête diyar kirin:

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

Ji ber vê yekê, me celebê pêbaweriya ku em hewce ne diyar kiriye, naha em dikarin hesabek ServiceNow lê zêde bikin û mînak, navê bikarhêner û şîfreyê, bi vî rengî destnîşan bikin:

Di Ansible Tower de pêvekên envanterê ji Koleksiyonên Naveroka Ansible bikar tînin

Em envanterê çêdikin

Ji ber vê yekê, naha em hemî amade ne ku di Ansible Tower de envanterek biafirînin. Ka em jê re bibêjin ServiceNow:

Di Ansible Tower de pêvekên envanterê ji Koleksiyonên Naveroka Ansible bikar tînin

Piştî afirandina envanterê, em dikarin çavkaniyek daneyê pê ve girêbidin. Li vir em projeya ku me berê afirandiye diyar dikin û di depoya kontrolê ya çavkaniyê de dikevin rêça pelê depoya xweya YAML-ê, di doza me de ew di koka projeyê de servicenow.yml e. Wekî din, hûn hewce ne ku hesabê xwe ServiceNow ve girêdin.

Di Ansible Tower de pêvekên envanterê ji Koleksiyonên Naveroka Ansible bikar tînin

Ji bo kontrol bikin ka her tişt çawa dixebite, em hewl bidin ku bi tikandina bişkoja "Hemû hevdemkirinê" bi çavkaniya daneyê re hevdeng bikin. Ger her tişt rast were mîheng kirin, wê hingê pêdivî ye ku girêk di nav envantera me de werin veguheztin:

Di Ansible Tower de pêvekên envanterê ji Koleksiyonên Naveroka Ansible bikar tînin

Ji kerema xwe zanibin ku komên ku em hewce ne jî hatine afirandin.

encamê

Di vê postê de, me nihêrî ka meriv çawa pêvekên depoyê ji berhevokên li Ansible Tower bi karanîna pêveka ServiceNow wekî mînak bikar tîne. Me di heman demê de pêbaweriyên bi ewle tomar kir ku bi mînaka ServiceNow-ê ve girêdayî bin. Girêdana pêvekek envanterê ji projeyek ne tenê bi pêvekên sêyemîn an xwerû re dixebite, lê di heman demê de dikare ji bo guheztina xebata hin depoyên standard jî were bikar anîn. Ev yeka Platforma Automasyona Ansible hêsan û bêkêmasî dike ku bi amûrên heyî re dema ku hawîrdorên IT-ê yên ku her ku diçe tevlihev dibin otomatîk bikin.

Hûn dikarin bêtir agahdarî li ser mijarên ku di vê postê de têne nîqaş kirin, û her weha aliyên din ên karanîna Ansible, li vir bibînin:

*Red Hat garantî nake ku koda li vir rast e. Hemî materyal li ser bingehek ne-pejirandinê têne peyda kirin heya ku bi rengek din eşkere neyê gotin.

Source: www.habr.com

Add a comment