Menggunakan pemalam inventori daripada Koleksi Kandungan Ansible dalam Menara Ansible

Persekitaran IT menjadi semakin kompleks. Dalam keadaan ini, adalah penting untuk sistem automasi IT mempunyai maklumat terkini tentang nod yang terdapat dalam rangkaian dan tertakluk kepada pemprosesan. Dalam Platform Automasi Red Hat Ansible, isu ini diselesaikan melalui apa yang dipanggil inventori (inventori) – senarai nod terurus.

Menggunakan pemalam inventori daripada Koleksi Kandungan Ansible dalam Menara Ansible

Dalam bentuk yang paling mudah, inventori ialah fail statik. Ini sesuai apabila anda mula bekerja dengan Ansible, tetapi apabila automasi meningkat, ia menjadi tidak mencukupi.

Dan inilah sebabnya:

  1. Bagaimanakah anda mengemas kini dan mengekalkan senarai lengkap nod yang dipantau apabila keadaan sentiasa berubah, apabila beban kerjaβ€”dan seterusnya nod yang dijalankanβ€”datang dan pergi?
  2. Bagaimana untuk mengklasifikasikan komponen infrastruktur IT untuk memilih nod secara khusus untuk menggunakan automasi tertentu?

Inventori dinamik menyediakan jawapan kepada kedua-dua soalan ini (inventori dinamik) – skrip atau pemalam yang mencari nod untuk diautomatikkan, merujuk kepada sumber kebenaran. Selain itu, inventori dinamik secara automatik mengklasifikasikan nod ke dalam kumpulan supaya anda boleh memilih sistem sasaran dengan lebih tepat untuk melaksanakan automasi Ansible tertentu.

Pemalam inventori memberi pengguna Ansible keupayaan untuk mengakses platform luaran untuk mencari nod sasaran secara dinamik dan menggunakan platform ini sebagai sumber kebenaran semasa membuat inventori. Senarai standard sumber dalam Ansible termasuk platform awan AWS EC2, Google GCP dan Microsoft Azure, dan terdapat juga banyak pemalam inventori lain untuk Ansible.

Menara Ansible dilengkapi dengan beberapa pemalam inventori, yang berfungsi di luar kotak dan, sebagai tambahan kepada platform awan yang disenaraikan di atas, menyediakan penyepaduan dengan VMware vCenter, Platform OpenStack Red Hat dan Satelit Red Hat. Untuk pemalam ini, anda hanya perlu menyediakan bukti kelayakan untuk menyambung ke platform sasaran, selepas itu ia boleh digunakan sebagai sumber data inventori dalam Menara Ansible.

Selain pemalam standard yang disertakan dengan Menara Ansible, terdapat pemalam inventori lain yang disokong oleh komuniti Ansible. Dengan peralihan kepada Koleksi Kandungan Red Hat Ansible pemalam ini mula dimasukkan ke dalam koleksi yang sepadan.

Dalam siaran ini, kami akan mengambil contoh bekerja dengan pemalam inventori untuk ServiceNow, platform pengurusan perkhidmatan IT yang popular di mana pelanggan sering menyimpan maklumat tentang semua peranti mereka dalam CMDB. Selain itu, CMDB boleh mengandungi konteks yang berguna untuk automasi, seperti maklumat tentang pemilik pelayan, tahap perkhidmatan (pengeluaran/bukan pengeluaran), kemas kini yang dipasang dan tetingkap penyelenggaraan. Pemalam inventori Ansible boleh berfungsi dengan ServiceNow CMDB dan merupakan sebahagian daripada koleksi perkhidmatan di portal galaxy.ansible.com.

Repositori Git

Untuk menggunakan pemalam inventori daripada koleksi dalam Menara Ansible, ia mesti ditetapkan sebagai sumber projek. Dalam Menara Ansible, projek ialah penyepaduan dengan beberapa jenis sistem kawalan versi, seperti repositori git, yang boleh digunakan untuk menyegerakkan bukan sahaja buku permainan automasi, tetapi juga pembolehubah dan senarai inventori.

Repositori kami sebenarnya sangat mudah:

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

Fail servicenow.yml mengandungi butiran untuk inventori pemalam. Dalam kes kami, kami hanya menentukan jadual dalam ServiceNow CMDB yang kami mahu gunakan. Kami juga menetapkan medan yang akan ditambahkan sebagai pembolehubah nod, serta maklumat tertentu tentang kumpulan yang ingin kami buat.

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

Sila ambil perhatian bahawa ini tidak menyatakan contoh ServiceNow yang akan kami sambungkan dalam apa jua cara, dan tidak menyatakan sebarang bukti kelayakan untuk sambungan. Kami akan mengkonfigurasi semua ini kemudian dalam Menara Ansible.

Koleksi fail/keperluan.yml diperlukan supaya Menara Ansible boleh memuat turun koleksi yang diperlukan dan dengan itu mendapatkan pemalam inventori yang diperlukan. Jika tidak, kami perlu memasang dan menyelenggara koleksi ini secara manual pada semua nod Menara Ansible kami.

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

- name: servicenow.servicenow

Sebaik sahaja kami telah menolak konfigurasi ini kepada kawalan versi, kami boleh membuat projek dalam Menara Ansible yang merujuk kepada repositori yang sepadan. Contoh di bawah memautkan Menara Ansible ke repositori github kami. Beri perhatian kepada URL SCM: ia membolehkan anda mendaftar akaun untuk menyambung ke repositori peribadi, serta menentukan cawangan tertentu, teg atau komitmen untuk menyemak.

Menggunakan pemalam inventori daripada Koleksi Kandungan Ansible dalam Menara Ansible

Mencipta bukti kelayakan untuk ServiceNow

Seperti yang dinyatakan, konfigurasi dalam repositori kami tidak mengandungi bukti kelayakan untuk menyambung ke ServiceNow dan tidak menyatakan contoh ServiceNow yang akan kami komunikasikan. Oleh itu, untuk menetapkan data ini, kami akan membuat bukti kelayakan dalam Menara Ansible. mengikut Dokumentasi pemalam inventori ServiceNow, terdapat beberapa pembolehubah persekitaran yang mana kami akan menetapkan parameter sambungan, contohnya, seperti ini:

= 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

Dalam kes ini, jika pembolehubah persekitaran SN_USERNAME ditetapkan, pemalam inventori akan menggunakannya sebagai akaun untuk menyambung ke ServiceNow.

Kita juga perlu menetapkan pembolehubah SN_INSTANCE dan SN_PASSWORD.

Walau bagaimanapun, tiada bukti kelayakan jenis ini dalam Menara Ansible di mana anda boleh menentukan data ini untuk ServiceNow. Tetapi Menara Ansible membenarkan kita untuk menentukan jenis kelayakan tersuai, anda boleh membaca lebih lanjut mengenai perkara ini dalam artikel "Sorotan Ciri Menara Ansible: Bukti Kelayakan Tersuai".

Dalam kes kami, konfigurasi input untuk kelayakan tersuai untuk ServiceNow kelihatan seperti ini:

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

Bukti kelayakan ini akan didedahkan sebagai pembolehubah persekitaran dengan nama yang sama. Ini diterangkan dalam konfigurasi penyuntik:

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

Jadi, kami telah menentukan jenis kelayakan yang kami perlukan, kini kami boleh menambah akaun ServiceNow dan menetapkan contoh, nama pengguna dan kata laluan, seperti ini:

Menggunakan pemalam inventori daripada Koleksi Kandungan Ansible dalam Menara Ansible

Kami membuat inventori

Jadi, kini kita semua bersedia untuk membuat inventori di Menara Ansible. Mari kita panggil ServiceNow:

Menggunakan pemalam inventori daripada Koleksi Kandungan Ansible dalam Menara Ansible

Selepas membuat inventori, kami boleh melampirkan sumber data padanya. Di sini kami menentukan projek yang kami buat sebelum ini dan masukkan laluan ke fail inventori YAML kami dalam repositori kawalan sumber, dalam kes kami, ia adalah servicenow.yml dalam akar projek. Selain itu, anda perlu memautkan akaun ServiceNow anda.

Menggunakan pemalam inventori daripada Koleksi Kandungan Ansible dalam Menara Ansible

Untuk menyemak cara semuanya berfungsi, mari cuba menyegerakkan dengan sumber data dengan mengklik butang "Segerakkan semua". Jika semuanya dikonfigurasikan dengan betul, maka nod harus diimport ke dalam inventori kami:

Menggunakan pemalam inventori daripada Koleksi Kandungan Ansible dalam Menara Ansible

Sila ambil perhatian bahawa kumpulan yang kami perlukan juga telah dibuat.

Kesimpulan

Dalam siaran ini, kami melihat cara menggunakan pemalam inventori daripada koleksi dalam Menara Ansible menggunakan pemalam ServiceNow sebagai contoh. Kami juga mendaftarkan bukti kelayakan dengan selamat untuk menyambung ke contoh ServiceNow kami. Memautkan pemalam inventori daripada projek berfungsi bukan sahaja dengan pemalam pihak ketiga atau tersuai, tetapi juga boleh digunakan untuk mengubah suai pengendalian beberapa inventori standard. Ini menjadikan Platform Automasi Ansible mudah dan lancar untuk disepadukan dengan alatan sedia ada untuk mengautomasikan persekitaran IT yang semakin kompleks.

Anda boleh mendapatkan lebih banyak maklumat tentang topik yang dibincangkan dalam siaran ini, serta aspek lain menggunakan Ansible, di sini:

*Red Hat tidak memberi jaminan bahawa kod yang terkandung di sini adalah betul. Semua bahan disediakan atas dasar bukan pengendorsan melainkan dinyatakan sebaliknya.

Sumber: www.habr.com

Tambah komen