Мэдээллийн технологийн орчин улам бүр төвөгтэй болж байна. Ийм нөхцөлд мэдээллийн технологийн автоматжуулалтын систем нь сүлжээнд байгаа болон боловсруулагдаж буй зангилааны талаархи хамгийн сүүлийн үеийн мэдээлэлтэй байх нь чухал юм. Red Hat Ansible Automation Platform-д энэ асуудлыг бараа материал гэж нэрлэгдэх замаар шийддэг.
Хамгийн энгийнээр бол бараа материал нь статик файл юм. Энэ нь таныг Ansible-тэй ажиллаж эхлэхэд тохиромжтой боловч автоматжуулалт нэмэгдэх тусам энэ нь хангалтгүй болно.
Яагаад гэвэл:
- Байнга өөрчлөгдөж байх үед, ажлын ачаалал, дараа нь тэдгээрийн ажиллаж байгаа зангилаанууд ирж, явах үед та хянагддаг зангилааны бүрэн жагсаалтыг хэрхэн шинэчилж, хадгалах вэ?
- Тодорхой автоматжуулалтыг ашиглах цэгүүдийг тусгайлан сонгохын тулд мэдээллийн технологийн дэд бүтцийн бүрэлдэхүүн хэсгүүдийг хэрхэн ангилах вэ?
Динамик тооллого нь эдгээр хоёр асуултын хариултыг өгдөг (
Ansible Tower нь хэд хэдэн дагалддаг
Ansible Tower-д багтсан стандарт залгаасуудаас гадна Ansible нийгэмлэгийн дэмждэг бусад бараа материалын залгаасууд байдаг. руу шилжсэнээр
Энэ нийтлэлд бид үйлчлүүлэгчид өөрсдийн бүх төхөөрөмжийн мэдээллийг CMDB-д хадгалдаг алдартай мэдээллийн технологийн үйлчилгээний удирдлагын платформ болох ServiceNow-д зориулсан бараа материалын залгаастай ажиллах жишээг авч үзэх болно. Нэмж дурдахад, CMDB нь сервер эзэмшигчийн тухай мэдээлэл, үйлчилгээний түвшин (үйлдвэрлэлийн/үйлдвэрлэлийн бус), суулгасан шинэчлэлт, засвар үйлчилгээний цонх зэрэг автоматжуулалтад хэрэгтэй контекстийг агуулж болно. Ansible бараа материалын залгаас нь ServiceNow CMDB-тэй ажиллах боломжтой бөгөөд цуглуулгын нэг хэсэг юм
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 дээр тохируулах болно.
$ cat collections/requirements.yml
---
collections:
- name: servicenow.servicenow
Бид энэ тохиргоог хувилбарын удирдлага руу шилжүүлсний дараа бид Ansible Tower-д харгалзах репозитортой холбоотой төсөл үүсгэж болно. Доорх жишээ нь Ansible Tower-ийг манай github репозитортой холбосон. SCM URL-д анхаарлаа хандуулаарай: энэ нь танд хувийн репозитортой холбогдохын тулд данс бүртгүүлэх, түүнчлэн тодорхой салбар, шошго эсвэл шалгах амлалт өгөх боломжийг олгодог.
ServiceNow-д итгэмжлэл үүсгэж байна
Өмнө дурьдсанчлан, манай репозиторын тохиргоонд ServiceNow-д холбогдох итгэмжлэл агуулаагүй бөгөөд бидний харилцах ServiceNow жишээг заагаагүй болно. Тиймээс энэ өгөгдлийг тохируулахын тулд бид Ansible Tower-д итгэмжлэл үүсгэх болно. дагуу
= 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 бидэнд тодорхойлох боломжийг олгодог
Манай тохиолдолд 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-д бараа материал үүсгэхэд бэлэн байна. Үүнийг ServiceNow гэж нэрлэе:
Бараа материалыг үүсгэсний дараа бид түүнд мэдээллийн эх сурвалжийг хавсаргаж болно. Энд бид өмнө нь үүсгэсэн төслөө зааж өгөөд эх сурвалжийн хяналтын репозиторт YAML бараа материалын файл руу орох замыг оруулна, манай тохиолдолд төслийн үндэс дэх servicenow.yml байна. Үүнээс гадна та ServiceNow бүртгэлээ холбох хэрэгтэй.
Бүх зүйл хэрхэн ажиллаж байгааг шалгахын тулд "Бүгдийг синк хийх" товчийг дарж мэдээллийн эх сурвалжтай синхрончлохыг оролдъё. Хэрэв бүх зүйл зөв тохируулагдсан бол зангилаануудыг манай бараа материалд оруулах ёстой.
Мөн бидэнд хэрэгтэй бүлгүүд бий болсон гэдгийг анхаарна уу.
дүгнэлт
Энэ нийтлэлд бид жишээ болгон ServiceNow залгаасыг ашиглан Ansible Tower дахь цуглуулгуудаас бараа материалын залгаасуудыг хэрхэн ашиглах талаар авч үзсэн. Мөн бид ServiceNow инстанцтай холбогдохын тулд итгэмжлэлүүдийг найдвартай бүртгүүлсэн. Төслийн бараа материалын залгаасыг холбох нь зөвхөн гуравдагч талын эсвэл захиалгат залгаасуудтай ажиллахаас гадна зарим стандарт бараа материалын ажиллагааг өөрчлөхөд ашиглаж болно. Энэ нь улам бүр төвөгтэй болж буй мэдээллийн технологийн орчныг автоматжуулах үед Ansible Automation Platform-ийг одоо байгаа хэрэгслүүдтэй нэгтгэхэд хялбар, саадгүй болгодог.
Та энэ нийтлэлд хэлэлцсэн сэдвүүд болон Ansible-г ашиглах бусад асуудлуудын талаар дэлгэрэнгүй мэдээллийг эндээс авах боломжтой.
- Блог бичдэг
Ansible ашиглан үйлчилгээг автоматжуулах . Өөрийнхөө цуглуулгыг хэрхэн бий болгох вэ .- Automation Hub вэбсайт дээрх Red Hat-ийн дэмжигдсэн цуглуулгуудын жагсаалт (
cloud.redhat.com ). Ansible Automation Platform цахим номууд .
*Улаан малгай нь энд байгаа код зөв гэсэн баталгаа өгөхгүй. Өөрөөр заагаагүй бол бүх материалыг баталгааны бус үндэслэлээр өгсөн болно.
Эх сурвалж: www.habr.com