Paggamit sa mga plugin sa imbentaryo gikan sa Ansible Content Collections sa Ansible Tower

Ang mga palibot sa IT nahimong labi ka komplikado. Sa kini nga mga kondisyon, hinungdanon alang sa sistema sa automation sa IT nga adunay labing bag-ong kasayuran bahin sa mga node nga naa sa network ug gipailalom sa pagproseso. Sa Red Hat Ansible Automation Platform, kini nga isyu nasulbad pinaagi sa gitawag nga imbentaryo (imbentaryo) – mga lista sa gidumala nga mga node.

Paggamit sa mga plugin sa imbentaryo gikan sa Ansible Content Collections sa Ansible Tower

Sa pinakasimple nga porma niini, ang imbentaryo usa ka static nga file. Kini mao ang sulundon nga sa diha nga ikaw magsugod sa pagtrabaho uban sa Ansible, apan sa pagdugang sa automation, kini mahimong dili igo.

Ug dinhi ang hinungdan:

  1. Giunsa nimo pag-update ug pagmentinar ang usa ka kompleto nga lista sa gibantayan nga mga node kung ang mga butang kanunay nga nagbag-o, kung ang mga workloads-ug pagkahuman ang mga node nga ilang gipadagan-moabut ug moadto?
  2. Giunsa pagklasipikar ang mga sangkap sa imprastraktura sa IT aron espesipikong mapili ang mga node alang sa pag-aplay sa usa ka partikular nga automation?

Ang dinamikong imbentaryo naghatag og mga tubag sa duha niini nga mga pangutana (dinamikong imbentaryo) – usa ka script o plugin nga nangita alang sa mga node nga mahimong awtomatiko, nga nagtumong sa tinubdan sa kamatuoran. Dugang pa, ang dinamikong imbentaryo awtomatik nga nagklasipikar sa mga node ngadto sa mga grupo aron mas tukma ka nga makapili sa mga target nga sistema alang sa paghimo sa piho nga Ansible automation.

Mga plugin sa imbentaryo hatagi ang Ansible nga tiggamit og katakus sa pag-access sa mga eksternal nga plataporma aron dinamikong pagpangita sa mga target nga node ug gamiton kini nga mga plataporma isip tinubdan sa kamatuoran sa paghimo og imbentaryo. Ang standard nga lista sa mga tinubdan sa Ansible naglakip sa cloud platforms AWS EC2, Google GCP ug Microsoft Azure, ug adunay daghan usab nga mga plugins sa imbentaryo alang sa Ansible.

Ang Ansible Tower adunay daghang mga mga plugins sa imbentaryo, nga nagtrabaho sa gawas sa kahon ug, dugang sa mga cloud platform nga gilista sa ibabaw, naghatag og integrasyon sa VMware vCenter, Red Hat OpenStack Platform ug Red Hat Satellite. Alang sa kini nga mga plugins, kinahanglan nimo nga maghatag mga kredensyal aron makonektar sa target nga plataporma, pagkahuman magamit kini ingon usa ka gigikanan sa datos sa imbentaryo sa Ansible Tower.

Dugang pa sa mga standard nga plugins nga gilakip sa Ansible Tower, adunay uban pang mga plugins sa imbentaryo nga gisuportahan sa Ansible nga komunidad. Uban sa transisyon ngadto sa Red Hat Ansible Content Collections kini nga mga plugins nagsugod nga gilakip sa katugbang nga mga koleksyon.

Sa kini nga post, magkuha kami usa ka pananglitan sa pagtrabaho kauban ang plugin sa imbentaryo alang sa ServiceNow, usa ka sikat nga platform sa pagdumala sa serbisyo sa IT diin ang mga kostumer kanunay nga nagtipig kasayuran bahin sa tanan nilang mga aparato sa CMDB. Dugang pa, ang CMDB mahimong maglangkob sa konteksto nga mapuslanon alang sa automation, sama sa kasayuran bahin sa mga tag-iya sa server, lebel sa serbisyo (produksyon / dili produksiyon), na-install nga mga update, ug mga bintana sa pagpadayon. Ang Ansible inventory plugin mahimong magamit sa ServiceNow CMDB ug kabahin sa koleksyon serbisyo karon sa portal galaxy.ansible.com.

Git repository

Aron magamit ang plugin sa imbentaryo gikan sa usa ka koleksyon sa Ansible Tower, kinahanglan nga ibutang kini nga gigikanan sa proyekto. Sa Ansible Tower, ang usa ka proyekto usa ka integrasyon sa usa ka matang sa sistema sa pagkontrol sa bersyon, sama sa usa ka git repository, nga magamit sa pag-synchronize dili lamang sa mga playbook sa automation, apan usab sa mga variable ug mga listahan sa imbentaryo.

Ang among repository sa tinuud yano ra kaayo:

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

Ang servicenow.yml file adunay mga detalye alang sa imbentaryo sa plugin. Sa among kaso, among gipiho ang lamesa sa ServiceNow CMDB nga gusto namong gamiton. Gibutang usab namo ang mga natad nga idugang isip mga variable sa node, dugang sa pipila ka impormasyon sa mga grupo nga gusto namong himoon.

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

Palihug timan-i nga kini wala magtino sa ServiceNow nga pananglitan diin kami magkonektar sa bisan unsang paagi, ug wala magtino sa bisan unsang mga kredensyal alang sa koneksyon. Atong i-configure kining tanan sa ulahi sa Ansible Tower.

File collections/requirements.yml gikinahanglan aron ma-download sa Ansible Tower ang gikinahanglan nga koleksyon ug sa ingon makuha ang gikinahanglan nga plugin sa imbentaryo. Kung dili, kinahanglan namon nga mano-mano nga i-install ug ipadayon kini nga koleksyon sa tanan namon nga mga node sa Ansible Tower.

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

- name: servicenow.servicenow

Kung naduso na namo kini nga configuration ngadto sa version control, makahimo kami og proyekto sa Ansible Tower nga nag-refer sa katugbang nga repository. Ang panig-ingnan sa ubos nag-link sa Ansible Tower sa among github repository. Hatagi'g pagtagad ang SCM URL: kini nagtugot kanimo sa pagparehistro sa usa ka account aron makonektar sa usa ka pribadong repositoryo, ingon man usab sa pagtino sa usa ka piho nga sanga, tag o pasalig sa pagsusi.

Paggamit sa mga plugin sa imbentaryo gikan sa Ansible Content Collections sa Ansible Tower

Paghimo og mga kredensyal para sa ServiceNow

Sama sa nahisgutan, ang pag-configure sa among repository wala’y mga kredensyal aron makonektar sa ServiceNow ug wala ipiho ang pananglitan sa ServiceNow diin kami makigsulti. Busa, aron mabutang kini nga datos, maghimo kami mga kredensyal sa Ansible Tower. Sumala sa Dokumentasyon sa plugin sa imbentaryo sa ServiceNow, adunay ubay-ubay nga mga variable sa palibot diin atong ibutang ang mga parameter sa koneksyon, pananglitan, sama niini:

= 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

Sa kini nga kaso, kung ang SN_USERNAME nga variable sa palibot gitakda, ang plugin sa imbentaryo mogamit niini ingon usa ka account aron makonektar sa ServiceNow.

Kinahanglan usab nato nga itakda ang SN_INSTANCE ug SN_PASSWORD variables.

Bisan pa, wala’y mga kredensyal sa kini nga tipo sa Ansible Tower diin mahimo nimong ipiho kini nga datos alang sa ServiceNow. Apan ang Ansible Tower nagtugot kanato sa paghubit mga tipo sa custom nga kredensyal, mabasa nimo ang dugang bahin niini sa artikulo "Ansible Tower Feature Spotlight: Custom Credentials".

Sa among kaso, ang input configuration alang sa custom nga mga kredensyal alang sa ServiceNow ingon niini:

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

Kini nga mga kredensyal ipadayag ingon nga mga variable sa palibot nga adunay parehas nga ngalan. Gihulagway kini sa configuration sa injector:

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

Busa, gihubit na namo ang tipo sa kredensyal nga among gikinahanglan, karon makadugang kami og ServiceNow account ug itakda ang pananglitan, username ug password, sama niini:

Paggamit sa mga plugin sa imbentaryo gikan sa Ansible Content Collections sa Ansible Tower

Naghimo kami og imbentaryo

Busa, karon andam na kitang tanan sa paghimo og imbentaryo sa Ansible Tower. Tawgon nato kini og ServiceNow:

Paggamit sa mga plugin sa imbentaryo gikan sa Ansible Content Collections sa Ansible Tower

Human sa paghimo sa imbentaryo, mahimo namong ilakip ang tinubdan sa datos niini. Dinhi among gipiho ang proyekto nga among gihimo sa sayo pa ug gisulod ang dalan sa among YAML inventory file sa source control repository, sa among kaso kini servicenow.yml sa project root. Dugang pa, kinahanglan nimo nga i-link ang imong ServiceNow account.

Paggamit sa mga plugin sa imbentaryo gikan sa Ansible Content Collections sa Ansible Tower

Aron masusi kung giunsa paglihok ang tanan, sulayan naton nga i-synchronize ang gigikanan sa datos pinaagi sa pag-klik sa buton nga "I-sync tanan". Kung ang tanan na-configure sa husto, nan ang mga node kinahanglan i-import sa among imbentaryo:

Paggamit sa mga plugin sa imbentaryo gikan sa Ansible Content Collections sa Ansible Tower

Palihug timan-i nga ang mga grupo nga atong gikinahanglan gibuhat usab.

konklusyon

Sa kini nga post, among gitan-aw kung giunsa ang paggamit sa mga plugin sa imbentaryo gikan sa mga koleksyon sa Ansible Tower gamit ang ServiceNow plugin isip usa ka pananglitan. Kami usab luwas nga nagparehistro sa mga kredensyal aron makonektar sa among pananglitan sa ServiceNow. Ang pag-link sa usa ka plugin sa imbentaryo gikan sa usa ka proyekto nagtrabaho dili lamang sa mga third-party o custom nga mga plugins, apan mahimo usab nga gamiton sa pag-usab sa operasyon sa pipila ka standard nga mga imbentaryo. Kini naghimo sa Ansible Automation Platform nga sayon ​​ug seamless nga i-integrate sa kasamtangan nga mga himan sa dihang mag-automate sa mas komplikado nga IT environment.

Makita nimo ang dugang nga kasayuran sa mga hilisgutan nga gihisgutan sa kini nga post, ingon man ang ubang mga aspeto sa paggamit sa Ansible, dinhi:

*Wala’y garantiya ang Red Hat nga husto ang code nga naa dinhi. Ang tanan nga mga materyales gihatag sa usa ka dili pag-endorso nga basehan gawas kung gipahayag nga gipahayag.

Source: www.habr.com

Idugang sa usa ka comment