Ansible టవర్‌లోని Ansible కంటెంట్ సేకరణల నుండి ఇన్వెంటరీ ప్లగిన్‌లను ఉపయోగించడం

ఐటీ పరిసరాలు మరింత సంక్లిష్టంగా మారుతున్నాయి. ఈ పరిస్థితుల్లో, నెట్‌వర్క్‌లో ఉన్న మరియు ప్రాసెసింగ్‌కు లోబడి ఉన్న నోడ్‌ల గురించి తాజా సమాచారాన్ని కలిగి ఉండటం IT ఆటోమేషన్ సిస్టమ్‌కు కీలకం. Red Hat Ansible ఆటోమేషన్ ప్లాట్‌ఫారమ్‌లో, ఈ సమస్య ఇన్వెంటరీ అని పిలవబడే (జాబితా) – నిర్వహించబడే నోడ్‌ల జాబితాలు.

Ansible టవర్‌లోని Ansible కంటెంట్ సేకరణల నుండి ఇన్వెంటరీ ప్లగిన్‌లను ఉపయోగించడం

దాని సరళమైన రూపంలో, ఇన్వెంటరీ అనేది స్టాటిక్ ఫైల్. మీరు Ansibleతో పనిచేయడం ప్రారంభించినప్పుడు ఇది అనువైనది, కానీ ఆటోమేషన్ పెరిగేకొద్దీ, అది సరిపోదు.

మరియు ఎందుకు ఇక్కడ ఉంది:

  1. విషయాలు నిరంతరం మారుతున్నప్పుడు, పనిభారం ఉన్నప్పుడు-తదనంతరం అవి నడుస్తున్న నోడ్‌లు వచ్చి వెళ్లినప్పుడు మీరు పర్యవేక్షించబడే నోడ్‌ల పూర్తి జాబితాను ఎలా అప్‌డేట్ చేయాలి మరియు నిర్వహించాలి?
  2. నిర్దిష్ట ఆటోమేషన్‌ని వర్తింపజేయడానికి నోడ్‌లను ప్రత్యేకంగా ఎంచుకోవడానికి IT మౌలిక సదుపాయాల భాగాలను ఎలా వర్గీకరించాలి?

డైనమిక్ ఇన్వెంటరీ ఈ రెండు ప్రశ్నలకు సమాధానాలను అందిస్తుంది (డైనమిక్ ఇన్వెంటరీ) – సత్యం యొక్క మూలాన్ని సూచిస్తూ ఆటోమేటెడ్ నోడ్‌ల కోసం శోధించే స్క్రిప్ట్ లేదా ప్లగ్ఇన్. అదనంగా, డైనమిక్ ఇన్వెంటరీ స్వయంచాలకంగా నోడ్‌లను సమూహాలుగా వర్గీకరిస్తుంది, తద్వారా మీరు నిర్దిష్ట Ansible ఆటోమేషన్‌ను నిర్వహించడానికి లక్ష్య వ్యవస్థలను మరింత ఖచ్చితంగా ఎంచుకోవచ్చు.

ఇన్వెంటరీ ప్లగిన్‌లు లక్ష్య నోడ్‌ల కోసం డైనమిక్‌గా శోధించడానికి మరియు ఇన్వెంటరీని సృష్టించేటప్పుడు ఈ ప్లాట్‌ఫారమ్‌లను సత్యానికి మూలంగా ఉపయోగించడానికి బాహ్య ప్లాట్‌ఫారమ్‌లను యాక్సెస్ చేయగల సామర్థ్యాన్ని Ansible వినియోగదారుకు అందించండి. Ansibleలోని మూలాధారాల యొక్క ప్రామాణిక జాబితాలో క్లౌడ్ ప్లాట్‌ఫారమ్‌లు AWS EC2, Google GCP మరియు Microsoft Azure ఉన్నాయి మరియు Ansible కోసం అనేక ఇతర ఇన్వెంటరీ ప్లగిన్‌లు కూడా ఉన్నాయి.

అన్సిబుల్ టవర్ అనేకం వస్తుంది జాబితా ప్లగిన్లు, ఇది బాక్స్ వెలుపల పని చేస్తుంది మరియు పైన జాబితా చేయబడిన క్లౌడ్ ప్లాట్‌ఫారమ్‌లతో పాటు, VMware vCenter, Red Hat OpenStack ప్లాట్‌ఫారమ్ మరియు Red Hat శాటిలైట్‌తో ఏకీకరణను అందిస్తుంది. ఈ ప్లగ్‌ఇన్‌ల కోసం, లక్ష్య ప్లాట్‌ఫారమ్‌కి కనెక్ట్ చేయడానికి మీరు ఆధారాలను అందించాలి, ఆ తర్వాత వాటిని అన్సిబుల్ టవర్‌లో ఇన్వెంటరీ డేటా యొక్క మూలంగా ఉపయోగించవచ్చు.

Ansible టవర్‌తో చేర్చబడిన ప్రామాణిక ప్లగిన్‌లతో పాటు, Ansible కమ్యూనిటీ మద్దతు ఇచ్చే ఇతర ఇన్వెంటరీ ప్లగిన్‌లు కూడా ఉన్నాయి. పరివర్తనతో Red Hat Ansible కంటెంట్ సేకరణలు ఈ ప్లగిన్‌లను సంబంధిత సేకరణలలో చేర్చడం ప్రారంభించారు.

ఈ పోస్ట్‌లో, మేము సర్వీస్‌నౌ కోసం ఇన్వెంటరీ ప్లగ్‌ఇన్‌తో పని చేయడానికి ఒక ఉదాహరణ తీసుకుంటాము, ఇది ఒక ప్రముఖ IT సర్వీస్ మేనేజ్‌మెంట్ ప్లాట్‌ఫారమ్, దీనిలో కస్టమర్‌లు తరచుగా CMDBలో వారి అన్ని పరికరాల గురించి సమాచారాన్ని నిల్వ చేస్తారు. అదనంగా, CMDB సర్వర్ యజమానులు, సేవా స్థాయిలు (ఉత్పత్తి/ఉత్పత్తియేతర), ఇన్‌స్టాల్ చేయబడిన నవీకరణలు మరియు నిర్వహణ విండోల గురించిన సమాచారం వంటి ఆటోమేషన్‌కు ఉపయోగపడే సందర్భాన్ని కలిగి ఉంటుంది. Ansible ఇన్వెంటరీ ప్లగ్ఇన్ ServiceNow CMDBతో పని చేయగలదు మరియు ఇది సేకరణలో భాగం సేవచేయు పోర్టల్‌లో galaxy.ansible.com.

Git రిపోజిటరీ

అన్సిబుల్ టవర్‌లోని సేకరణ నుండి ఇన్వెంటరీ ప్లగ్ఇన్‌ని ఉపయోగించడానికి, దానిని ప్రాజెక్ట్ సోర్స్‌గా సెట్ చేయాలి. అన్సిబుల్ టవర్‌లో, ప్రాజెక్ట్ అనేది గిట్ రిపోజిటరీ వంటి కొన్ని రకాల వెర్షన్ కంట్రోల్ సిస్టమ్‌తో ఏకీకరణ, ఇది ఆటోమేషన్ ప్లేబుక్‌లను మాత్రమే కాకుండా వేరియబుల్స్ మరియు ఇన్వెంటరీ జాబితాలను కూడా సమకాలీకరించడానికి ఉపయోగించవచ్చు.

మా రిపోజిటరీ నిజానికి చాలా సులభం:

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

servicenow.yml ఫైల్ ప్లగ్ఇన్ ఇన్వెంటరీకి సంబంధించిన వివరాలను కలిగి ఉంది. మా విషయంలో, మేము ఉపయోగించాలనుకుంటున్న సర్వీస్‌నౌ 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 టవర్‌లో కాన్ఫిగర్ చేస్తాము.

ఫైల్ సేకరణలు/requirements.yml అవసరం కాబట్టి అన్సిబుల్ టవర్ అవసరమైన సేకరణను డౌన్‌లోడ్ చేసుకోవచ్చు మరియు తద్వారా అవసరమైన ఇన్వెంటరీ ప్లగిన్‌ను పొందవచ్చు. లేకపోతే, మేము మా అన్ని Ansible టవర్ నోడ్‌లలో ఈ సేకరణను మాన్యువల్‌గా ఇన్‌స్టాల్ చేసి, నిర్వహించాల్సి ఉంటుంది.

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

- name: servicenow.servicenow

ఒకసారి మేము ఈ కాన్ఫిగరేషన్‌ను సంస్కరణ నియంత్రణకు పుష్ చేసిన తర్వాత, సంబంధిత రిపోజిటరీని సూచించే ఒక ప్రాజెక్ట్‌ను మనం Ansible టవర్‌లో సృష్టించవచ్చు. దిగువ ఉదాహరణ అన్సిబుల్ టవర్‌ను మా గితుబ్ రిపోజిటరీకి లింక్ చేస్తుంది. SCM URLకు శ్రద్ధ వహించండి: ఇది ఒక ప్రైవేట్ రిపోజిటరీకి కనెక్ట్ చేయడానికి ఖాతాను నమోదు చేయడానికి మిమ్మల్ని అనుమతిస్తుంది, అలాగే నిర్దిష్ట శాఖ, ట్యాగ్ లేదా చెక్ అవుట్ చేయడానికి కట్టుబడి ఉండేలా పేర్కొనండి.

Ansible టవర్‌లోని Ansible కంటెంట్ సేకరణల నుండి ఇన్వెంటరీ ప్లగిన్‌లను ఉపయోగించడం

ServiceNow కోసం ఆధారాలను సృష్టిస్తోంది

పేర్కొన్నట్లుగా, మా రిపోజిటరీలోని కాన్ఫిగరేషన్ సర్వీస్‌నౌకి కనెక్ట్ చేయడానికి ఆధారాలను కలిగి ఉండదు మరియు మేము కమ్యూనికేట్ చేసే సర్వీస్‌నౌ ఉదాహరణను పేర్కొనలేదు. కాబట్టి, ఈ డేటాను సెట్ చేయడానికి, మేము అన్సిబుల్ టవర్‌లో ఆధారాలను సృష్టిస్తాము. ప్రకారం 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 వేరియబుల్‌లను కూడా సెట్ చేయాలి.

అయితే, సర్వీస్‌నౌ కోసం మీరు ఈ డేటాను పేర్కొనగలిగే అన్సిబుల్ టవర్‌లో ఈ రకమైన ఆధారాలు లేవు. కానీ అన్సిబుల్ టవర్ మాకు నిర్వచించడానికి అనుమతిస్తుంది అనుకూల ఆధారాల రకాలు, మీరు వ్యాసంలో దీని గురించి మరింత చదువుకోవచ్చు "అన్సిబుల్ టవర్ ఫీచర్ స్పాట్‌లైట్: అనుకూల ఆధారాలు".

మా విషయంలో, 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 టవర్‌లోని Ansible కంటెంట్ సేకరణల నుండి ఇన్వెంటరీ ప్లగిన్‌లను ఉపయోగించడం

మేము జాబితాను సృష్టిస్తాము

కాబట్టి, ఇప్పుడు మనమందరం అన్సిబుల్ టవర్‌లో జాబితాను రూపొందించడానికి సిద్ధంగా ఉన్నాము. ఇప్పుడు సర్వీస్ అని పిలుద్దాం:

Ansible టవర్‌లోని Ansible కంటెంట్ సేకరణల నుండి ఇన్వెంటరీ ప్లగిన్‌లను ఉపయోగించడం

ఇన్వెంటరీని సృష్టించిన తర్వాత, మేము దానికి డేటా మూలాన్ని జోడించవచ్చు. ఇక్కడ మనం ఇంతకు ముందు సృష్టించిన ప్రాజెక్ట్‌ని పేర్కొంటాము మరియు సోర్స్ కంట్రోల్ రిపోజిటరీలో మా YAML ఇన్వెంటరీ ఫైల్‌కి మార్గాన్ని నమోదు చేస్తాము, మా విషయంలో ఇది ప్రాజెక్ట్ రూట్‌లో servicenow.yml. అదనంగా, మీరు మీ ServiceNow ఖాతాను లింక్ చేయాలి.

Ansible టవర్‌లోని Ansible కంటెంట్ సేకరణల నుండి ఇన్వెంటరీ ప్లగిన్‌లను ఉపయోగించడం

ప్రతిదీ ఎలా పని చేస్తుందో తనిఖీ చేయడానికి, “అన్నీ సమకాలీకరించు” బటన్‌ను క్లిక్ చేయడం ద్వారా డేటా మూలంతో సమకాలీకరించడానికి ప్రయత్నిద్దాం. ప్రతిదీ సరిగ్గా కాన్ఫిగర్ చేయబడితే, నోడ్‌లను మా ఇన్వెంటరీలోకి దిగుమతి చేయాలి:

Ansible టవర్‌లోని Ansible కంటెంట్ సేకరణల నుండి ఇన్వెంటరీ ప్లగిన్‌లను ఉపయోగించడం

దయచేసి మనకు అవసరమైన సమూహాలు కూడా సృష్టించబడ్డాయి.

తీర్మానం

ఈ పోస్ట్‌లో, సర్వీస్‌నౌ ప్లగ్‌ఇన్‌ను ఉదాహరణగా ఉపయోగించి అన్సిబుల్ టవర్‌లోని సేకరణల నుండి ఇన్వెంటరీ ప్లగిన్‌లను ఎలా ఉపయోగించాలో మేము చూశాము. మేము మా ServiceNow ఉదాహరణకి కనెక్ట్ చేయడానికి ఆధారాలను కూడా సురక్షితంగా నమోదు చేసాము. ప్రాజెక్ట్ నుండి ఇన్వెంటరీ ప్లగ్‌ఇన్‌ని లింక్ చేయడం మూడవ పక్షం లేదా అనుకూల ప్లగిన్‌లతో మాత్రమే పని చేస్తుంది, కానీ కొన్ని ప్రామాణిక ఇన్వెంటరీల ఆపరేషన్‌ను సవరించడానికి కూడా ఉపయోగించవచ్చు. ఇది అన్సిబుల్ ఆటోమేషన్ ప్లాట్‌ఫారమ్‌ను సులభతరం చేస్తుంది మరియు క్లిష్టతరమైన IT పరిసరాలను ఆటోమేట్ చేస్తున్నప్పుడు ఇప్పటికే ఉన్న టూల్స్‌తో ఏకీకృతం అవుతుంది.

మీరు ఈ పోస్ట్‌లో చర్చించిన అంశాల గురించి, అలాగే Ansibleని ఉపయోగించే ఇతర అంశాలపై మరింత సమాచారాన్ని ఇక్కడ కనుగొనవచ్చు:

*ఇందులో ఉన్న కోడ్ సరైనదని Red Hat హామీ ఇవ్వదు. స్పష్టంగా పేర్కొనకపోతే అన్ని మెటీరియల్స్ నాన్-ఎండార్స్‌మెంట్ ప్రాతిపదికన అందించబడతాయి.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి