Ansible Tower дахь Ansible Content Collections-ийн бараа материалын залгаасуудыг ашиглах

Мэдээллийн технологийн орчин улам бүр төвөгтэй болж байна. Ийм нөхцөлд мэдээллийн технологийн автоматжуулалтын систем нь сүлжээнд байгаа болон боловсруулагдаж буй зангилааны талаархи хамгийн сүүлийн үеийн мэдээлэлтэй байх нь чухал юм. Red Hat Ansible Automation Platform-д энэ асуудлыг бараа материал гэж нэрлэгдэх замаар шийддэг.бараа материалын) – удирддаг зангилааны жагсаалт.

Ansible Tower дахь Ansible Content Collections-ийн бараа материалын залгаасуудыг ашиглах

Хамгийн энгийнээр бол бараа материал нь статик файл юм. Энэ нь таныг Ansible-тэй ажиллаж эхлэхэд тохиромжтой боловч автоматжуулалт нэмэгдэх тусам энэ нь хангалтгүй болно.

Яагаад гэвэл:

  1. Байнга өөрчлөгдөж байх үед, ажлын ачаалал, дараа нь тэдгээрийн ажиллаж байгаа зангилаанууд ирж, явах үед та хянагддаг зангилааны бүрэн жагсаалтыг хэрхэн шинэчилж, хадгалах вэ?
  2. Тодорхой автоматжуулалтыг ашиглах цэгүүдийг тусгайлан сонгохын тулд мэдээллийн технологийн дэд бүтцийн бүрэлдэхүүн хэсгүүдийг хэрхэн ангилах вэ?

Динамик тооллого нь эдгээр хоёр асуултын хариултыг өгдөг (динамик бараа материал) – үнэний эх сурвалжийг дурдаж автоматжуулах зангилааг хайж буй скрипт эсвэл залгаас. Нэмж дурдахад, динамик тооллого нь зангилааг автоматаар бүлэгт ангилдаг бөгөөд ингэснээр та тодорхой Ansible автоматжуулалтыг гүйцэтгэх зорилтот системийг илүү нарийвчлалтай сонгох боломжтой болно.

Бараа материалын залгаасууд Ansible хэрэглэгчдэд зорилтот цэгүүдийг динамикаар хайж олохын тулд гадаад платформд хандах боломжийг олгож, бараа материал бүрдүүлэхдээ эдгээр платформуудыг үнэний эх сурвалж болгон ашиглах. Ansible дахь эх сурвалжуудын стандарт жагсаалтад AWS EC2, Google GCP болон Microsoft Azure үүл платформууд багтсан бөгөөд Ansible-д зориулсан бусад олон бараа материалын залгаасууд байдаг.

Ansible Tower нь хэд хэдэн дагалддаг бараа материалын залгаасууд, нь хайрцагнаас гарч ажиллах бөгөөд дээр дурдсан үүлэн платформуудаас гадна VMware vCenter, Red Hat OpenStack Platform болон Red Hat Satellite-тэй нэгтгэх боломжийг олгодог. Эдгээр залгаасуудын хувьд та зорилтот платформтой холбогдохын тулд итгэмжлэл өгөхөд л хангалттай бөгөөд үүний дараа тэдгээрийг Ansible Tower дахь бараа материалын мэдээллийн эх сурвалж болгон ашиглаж болно.

Ansible Tower-д багтсан стандарт залгаасуудаас гадна Ansible нийгэмлэгийн дэмждэг бусад бараа материалын залгаасууд байдаг. руу шилжсэнээр Red Hat Ansible контентын цуглуулга Эдгээр залгаасуудыг холбогдох цуглуулгад оруулж эхэлсэн.

Энэ нийтлэлд бид үйлчлүүлэгчид өөрсдийн бүх төхөөрөмжийн мэдээллийг CMDB-д хадгалдаг алдартай мэдээллийн технологийн үйлчилгээний удирдлагын платформ болох ServiceNow-д зориулсан бараа материалын залгаастай ажиллах жишээг авч үзэх болно. Нэмж дурдахад, CMDB нь сервер эзэмшигчийн тухай мэдээлэл, үйлчилгээний түвшин (үйлдвэрлэлийн/үйлдвэрлэлийн бус), суулгасан шинэчлэлт, засвар үйлчилгээний цонх зэрэг автоматжуулалтад хэрэгтэй контекстийг агуулж болно. Ansible бараа материалын залгаас нь ServiceNow CMDB-тэй ажиллах боломжтой бөгөөд цуглуулгын нэг хэсэг юм үйлчилгээний үе портал дээр galaxy.ansible.com.

Git репозитор

Ansible Tower дахь цуглуулгаас бараа материалын залгаасыг ашиглахын тулд үүнийг төслийн эх сурвалж болгон тохируулах ёстой. Ansible Tower-д төсөл нь git репозитор гэх мэт хувилбарын хяналтын системтэй нэгдмэл байдлаар хийгдсэн бөгөөд үүнийг зөвхөн автоматжуулалтын тоглоомын дэвтэр төдийгүй хувьсагч болон бараа материалын жагсаалтыг синхрончлоход ашиглаж болно.

Манай агуулах нь үнэндээ маш энгийн:

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

servicenow.yml файл нь залгаасын нөөцийн дэлгэрэнгүй мэдээллийг агуулдаг. Манай тохиолдолд бид зүгээр л ашиглахыг хүсч буй ServiceNow 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 Tower дээр тохируулах болно.

Файлын цуглуулга/шаардлага.yml хэрэгтэй бөгөөд ингэснээр Ansible Tower шаардлагатай цуглуулгаа татаж аваад шаардлагатай бараа материалын залгаасыг олж авах боломжтой. Үгүй бол бид энэ цуглуулгыг бүх Ansible Tower зангилаан дээрээ гараар суулгаж, засвар үйлчилгээ хийх шаардлагатай болно.

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

- name: servicenow.servicenow

Бид энэ тохиргоог хувилбарын удирдлага руу шилжүүлсний дараа бид Ansible Tower-д харгалзах репозитортой холбоотой төсөл үүсгэж болно. Доорх жишээ нь Ansible Tower-ийг манай github репозитортой холбосон. SCM URL-д анхаарлаа хандуулаарай: энэ нь танд хувийн репозитортой холбогдохын тулд данс бүртгүүлэх, түүнчлэн тодорхой салбар, шошго эсвэл шалгах амлалт өгөх боломжийг олгодог.

Ansible Tower дахь Ansible Content Collections-ийн бараа материалын залгаасуудыг ашиглах

ServiceNow-д итгэмжлэл үүсгэж байна

Өмнө дурьдсанчлан, манай репозиторын тохиргоонд ServiceNow-д холбогдох итгэмжлэл агуулаагүй бөгөөд бидний харилцах ServiceNow жишээг заагаагүй болно. Тиймээс энэ өгөгдлийг тохируулахын тулд бид Ansible Tower-д итгэмжлэл үүсгэх болно. дагуу 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 хувьсагчдыг тохируулах хэрэгтэй.

Гэсэн хэдий ч, Ansible Tower-д ServiceNow-д энэ өгөгдлийг зааж өгөх ийм төрлийн итгэмжлэл байхгүй байна. Гэхдээ Ansible Tower бидэнд тодорхойлох боломжийг олгодог захиалгат итгэмжлэлийн төрлүүд, та энэ талаар дэлгэрэнгүйг нийтлэлээс уншиж болно "Ansible Tower-ийн онцлог: Тусгай итгэмжлэл".

Манай тохиолдолд 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 Tower дахь Ansible Content Collections-ийн бараа материалын залгаасуудыг ашиглах

Бид бараа материал үүсгэдэг

Тиймээс бид бүгд Ansible Tower-д бараа материал үүсгэхэд бэлэн байна. Үүнийг ServiceNow гэж нэрлэе:

Ansible Tower дахь Ansible Content Collections-ийн бараа материалын залгаасуудыг ашиглах

Бараа материалыг үүсгэсний дараа бид түүнд мэдээллийн эх сурвалжийг хавсаргаж болно. Энд бид өмнө нь үүсгэсэн төслөө зааж өгөөд эх сурвалжийн хяналтын репозиторт YAML бараа материалын файл руу орох замыг оруулна, манай тохиолдолд төслийн үндэс дэх servicenow.yml байна. Үүнээс гадна та ServiceNow бүртгэлээ холбох хэрэгтэй.

Ansible Tower дахь Ansible Content Collections-ийн бараа материалын залгаасуудыг ашиглах

Бүх зүйл хэрхэн ажиллаж байгааг шалгахын тулд "Бүгдийг синк хийх" товчийг дарж мэдээллийн эх сурвалжтай синхрончлохыг оролдъё. Хэрэв бүх зүйл зөв тохируулагдсан бол зангилаануудыг манай бараа материалд оруулах ёстой.

Ansible Tower дахь Ansible Content Collections-ийн бараа материалын залгаасуудыг ашиглах

Мөн бидэнд хэрэгтэй бүлгүүд бий болсон гэдгийг анхаарна уу.

дүгнэлт

Энэ нийтлэлд бид жишээ болгон ServiceNow залгаасыг ашиглан Ansible Tower дахь цуглуулгуудаас бараа материалын залгаасуудыг хэрхэн ашиглах талаар авч үзсэн. Мөн бид ServiceNow инстанцтай холбогдохын тулд итгэмжлэлүүдийг найдвартай бүртгүүлсэн. Төслийн бараа материалын залгаасыг холбох нь зөвхөн гуравдагч талын эсвэл захиалгат залгаасуудтай ажиллахаас гадна зарим стандарт бараа материалын ажиллагааг өөрчлөхөд ашиглаж болно. Энэ нь улам бүр төвөгтэй болж буй мэдээллийн технологийн орчныг автоматжуулах үед Ansible Automation Platform-ийг одоо байгаа хэрэгслүүдтэй нэгтгэхэд хялбар, саадгүй болгодог.

Та энэ нийтлэлд хэлэлцсэн сэдвүүд болон Ansible-г ашиглах бусад асуудлуудын талаар дэлгэрэнгүй мэдээллийг эндээс авах боломжтой.

*Улаан малгай нь энд байгаа код зөв гэсэн баталгаа өгөхгүй. Өөрөөр заагаагүй бол бүх материалыг баталгааны бус үндэслэлээр өгсөн болно.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх