Siv cov khoom lag luam plugins los ntawm Ansible Content Collections hauv Ansible Tower

IT ib puag ncig tau dhau los ua qhov nyuaj. Nyob rau hauv cov xwm txheej no, nws yog ib qho tseem ceeb rau IT automation system kom muaj cov ntaub ntawv tshiab txog cov nodes uas muaj nyob rau hauv lub network thiab raug ua. Hauv Red Hat Ansible Automation Platform, qhov teeb meem no tau daws los ntawm qhov hu ua cov khoom muag (cov lus nug) - cov npe ntawm cov nodes tswj.

Siv cov khoom lag luam plugins los ntawm Ansible Content Collections hauv Ansible Tower

Hauv nws daim ntawv yooj yim tshaj plaws, cov khoom muag yog cov ntaub ntawv zoo li qub. Qhov no yog qhov zoo tagnrho thaum koj pib ua haujlwm nrog Ansible, tab sis raws li automation nce, nws yuav tsis txaus.

Thiab yog vim li cas:

  1. Koj ua li cas hloov kho thiab tswj xyuas cov npe tag nrho ntawm cov saib xyuas thaum txhua yam hloov pauv tas li, thaum ua haujlwm-thiab tom qab nodes lawv khiav mus-los thiab mus?
  2. Yuav ua li cas cais cov khoom ntawm IT infrastructure thiaj li xaiv cov nodes rau kev thov ib qho kev siv automation?

Dynamic inventory muab cov lus teb rau ob nqe lus nug no (dynamic khoom) - ib tsab ntawv lossis plugin uas tshawb nrhiav cov nodes kom ua haujlwm, xa mus rau qhov tseeb. Tsis tas li ntawd, cov khoom lag luam dynamic tau faib cov nodes rau hauv pab pawg kom koj tuaj yeem xaiv cov phiaj xwm ntau dua rau kev ua haujlwm tshwj xeeb Ansible automation.

Cov khoom lag luam plugins muab cov neeg siv Ansible muaj peev xwm nkag mus rau lwm lub platform los tshawb nrhiav cov hom phiaj thiab siv cov platforms no los ua qhov tseeb thaum tsim cov khoom muag. Daim ntawv teev npe ntawm cov peev txheej hauv Ansible suav nrog huab platforms AWS EC2, Google GCP thiab Microsoft Azure, thiab tseem muaj ntau lwm cov khoom lag luam plugins rau Ansible.

Ansible Tower los nrog ntau tus cov khoom siv plugins, uas ua haujlwm tawm ntawm lub thawv thiab, ntxiv rau cov huab platforms teev saum toj no, muab kev koom ua ke nrog VMware vCenter, Red Hat OpenStack Platform thiab Red Hat Satellite. Rau cov plugins no, koj tsuas yog yuav tsum tau muab cov ntaub ntawv pov thawj los txuas rau lub hom phiaj platform, tom qab ntawd lawv tuaj yeem siv los ua cov ntaub ntawv khaws cia hauv Ansible Tower.

Ntxiv rau cov txheej txheem plugins suav nrog Ansible Tower, muaj lwm cov khoom lag luam plugins txhawb nqa los ntawm Ansible zej zog. Nrog kev hloov mus rau Red Hat Ansible Content Collections cov plugins no tau pib suav nrog hauv cov khoom sib xws.

Hauv cov ntawv tshaj tawm no, peb yuav ua piv txwv ntawm kev ua haujlwm nrog cov khoom lag luam plugin rau ServiceNow, qhov nrov IT pabcuam kev tswj hwm platform uas cov neeg siv khoom feem ntau khaws cov ntaub ntawv hais txog tag nrho lawv cov khoom siv hauv CMDB. Tsis tas li ntawd, CMDB tuaj yeem muaj cov ntsiab lus uas muaj txiaj ntsig zoo rau automation, xws li cov ntaub ntawv hais txog cov tswv server, qib kev pabcuam (tsim / tsis tsim khoom), txhim kho kho tshiab, thiab kho qhov rais. Ansible inventory plugin tuaj yeem ua haujlwm nrog ServiceNow CMDB thiab yog ib feem ntawm kev sau kev pabcuam ntawm lub portal galaxy.ansible.com.

Git repository

Txhawm rau siv cov khoom lag luam plugin los ntawm kev sau hauv Ansible Tower, nws yuav tsum tau teeb tsa ua qhov project. Hauv Ansible Ntauwd, ib qhov project yog kev koom ua ke nrog qee yam kev tswj hwm version, zoo li git repository, uas tuaj yeem siv los synchronize tsis yog automation playbooks, tab sis kuj hloov pauv thiab cov npe khoom.

Peb qhov chaw cia khoom yog qhov yooj yim heev:

β”œβ”€β”€ collections
β”‚   └── requirements.yml
└── servicenow.yml

Cov ntaub ntawv servicenow.yml muaj cov ntsiab lus rau cov khoom muag plugin. Hauv peb cov ntaub ntawv, peb tsuas yog qhia cov lus hauv ServiceNow CMDB uas peb xav siv. Peb kuj tau teeb tsa cov teb uas yuav muab ntxiv ua cov node hloov pauv, ntxiv rau qee cov ntaub ntawv ntawm cov pab pawg uas peb xav tsim.

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

Thov nco ntsoov tias qhov no tsis qhia qhov piv txwv ServiceNow uas peb yuav txuas rau txhua txoj hauv kev, thiab tsis qhia meej txog cov ntaub ntawv pov thawj rau kev sib txuas. Peb yuav teeb tsa tag nrho cov no tom qab hauv Ansible Tower.

Cov ntaub ntawv collections/requirements.yml xav tau kom Ansible Tower tuaj yeem rub tawm cov ntawv sau uas xav tau thiab yog li tau txais cov khoom lag luam xav tau plugin. Txwv tsis pub, peb yuav tau manually nruab thiab tswj cov khoom no ntawm tag nrho peb cov Ansible Tower nodes.

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

- name: servicenow.servicenow

Thaum peb tau thawb qhov kev teeb tsa no rau kev tswj hwm version, peb tuaj yeem tsim ib qhov project hauv Ansible Tower uas hais txog qhov chaw khaws cia. Cov piv txwv hauv qab no txuas Ansible Tower rau peb lub chaw cia khoom github. Ua tib zoo mloog rau SCM URL: nws tso cai rau koj mus rau npe rau ib tus as-qhauj txuas mus rau lub chaw khaws cia ntiag tug, nrog rau kev qhia tshwj xeeb ntawm ceg, lossis cog lus los kuaj xyuas.

Siv cov khoom lag luam plugins los ntawm Ansible Content Collections hauv Ansible Tower

Tsim cov ntawv pov thawj rau ServiceNow

Raws li tau hais, kev teeb tsa hauv peb lub chaw cia khoom tsis muaj cov ntaub ntawv pov thawj los txuas rau ServiceNow thiab tsis qhia qhov piv txwv ServiceNow uas peb yuav sib txuas lus. Yog li ntawd, txhawm rau teeb tsa cov ntaub ntawv no, peb yuav tsim cov ntawv pov thawj hauv Ansible Tower. Raws li ServiceNow cov lus nug plugin cov ntaub ntawv, muaj ntau qhov sib txawv ntawm ib puag ncig uas peb yuav teeb tsa cov kev sib txuas tsis sib xws, piv txwv li, zoo li no:

= 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

Hauv qhov no, yog tias SN_USERNAME ib puag ncig hloov pauv tau teeb tsa, cov khoom lag luam plugin yuav siv nws los ua tus account los txuas rau ServiceNow.

Peb kuj yuav tsum tau teeb tsa SN_INSTANCE thiab SN_PASSWORD qhov hloov pauv.

Txawm li cas los xij, tsis muaj ntawv pov thawj ntawm hom no hauv Ansible Tower qhov twg koj tuaj yeem qhia cov ntaub ntawv no rau ServiceNow. Tab sis Ansible Tower tso cai rau peb los txhais hom ntawv pov thawj kev cai, koj tuaj yeem nyeem ntxiv txog qhov no hauv kab lus "Ansible Tower Feature Spotlight: Custom Credentials".

Nyob rau hauv peb rooj plaub, cov tswv yim configuration rau kev cai credentials rau ServiceNow zoo li no:

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

Cov ntawv pov thawj no yuav raug nthuav tawm raws li ib puag ncig hloov pauv nrog tib lub npe. Qhov no yog piav nyob rau hauv lub injector configuration:

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

Yog li, peb tau txhais hom ntawv pov thawj peb xav tau, tam sim no peb tuaj yeem ntxiv ServiceNow account thiab teeb tsa qhov piv txwv, username thiab password, zoo li no:

Siv cov khoom lag luam plugins los ntawm Ansible Content Collections hauv Ansible Tower

Peb tsim cov khoom muag

Yog li, tam sim no peb txhua tus tau npaj los tsim cov khoom muag hauv Ansible Tower. Cia peb hu nws ServiceNow:

Siv cov khoom lag luam plugins los ntawm Ansible Content Collections hauv Ansible Tower

Tom qab tsim cov khoom muag, peb tuaj yeem xa cov ntaub ntawv rau nws. Ntawm no peb qhia meej txog qhov peb tsim ua ntej thiab nkag mus rau hauv txoj hauv kev rau peb cov ntaub ntawv YAML cov lus nug hauv qhov chaw tswj hwm qhov chaw cia khoom, hauv peb cov ntaub ntawv nws yog servicenow.yml hauv qhov project hauv paus. Ntxiv mus, koj yuav tsum txuas koj tus account ServiceNow.

Siv cov khoom lag luam plugins los ntawm Ansible Content Collections hauv Ansible Tower

Txhawm rau xyuas seb txhua yam ua haujlwm li cas, cia peb sim synchronize nrog cov ntaub ntawv los ntawm nias lub pob "Sync tag nrho". Yog tias txhua yam raug teeb tsa raug, ces cov nodes yuav tsum raug xa mus rau hauv peb cov khoom muag:

Siv cov khoom lag luam plugins los ntawm Ansible Content Collections hauv Ansible Tower

Thov nco ntsoov tias cov pab pawg peb xav tau kuj tau tsim.

xaus

Hauv cov ntawv tshaj tawm no, peb tau saib yuav ua li cas siv cov khoom lag luam plugins los ntawm kev sau hauv Ansible Tower siv ServiceNow plugin ua piv txwv. Peb kuj tau sau cov ntaub ntawv pov thawj ruaj ntseg los txuas rau peb qhov piv txwv ServiceNow. Txuas cov khoom lag luam plugin los ntawm ib qhov project ua haujlwm tsis tsuas yog nrog cov neeg thib peb lossis cov kev cai plugins, tab sis kuj tuaj yeem siv los hloov kho cov haujlwm ntawm qee cov khoom lag luam txheem. Qhov no ua rau Ansible Automation Platform yooj yim thiab seamless rau kev koom ua ke nrog cov cuab yeej uas twb muaj lawm thaum automating nce IT ib puag ncig nyuaj.

Koj tuaj yeem nrhiav cov ntaub ntawv ntau ntxiv ntawm cov ncauj lus uas tau tham hauv tsab xov xwm no, nrog rau lwm yam ntawm kev siv Ansible, ntawm no:

*Red Hat ua rau tsis muaj kev lees paub tias cov cai muaj nyob hauv no yog qhov tseeb. Tag nrho cov ntaub ntawv yog muab los ntawm qhov tsis pom zoo tshwj tsis yog tias tau hais qhia lwm yam.

Tau qhov twg los: www.hab.com

Ntxiv ib saib