Cara menggunakan inventaris statis dan dinamis di Ansible - Bagian 4
- 2117
- 234
- Hector Kuhic
Di dalam Bagian 4 dari serial ansible, kami akan menjelaskan cara menggunakan inventaris statis dan dinamis untuk mendefinisikan kelompok host di Ansible.
Dalam an Semu, Host atau server yang dikelola yang dikendalikan oleh Node kontrol yang tidak dapat dimampatkan didefinisikan dalam a file inventaris host seperti yang dijelaskan. File inventaris host adalah file teks yang terdiri dari nama host atau Alamat IP host yang dikelola atau server jarak jauh.
Host yang dikelola dapat terdaftar sebagai entri individual atau dikategorikan berdasarkan nama grup seperti yang akan kita lihat nanti. Di Ansible, ada dua jenis file inventaris: Statis Dan Dinamis.
Mari kita lihat masing -masing dan lihat bagaimana kita bisa mengelolanya. Sekarang, kami berasumsi bahwa Anda telah menginstal ansible di node kontrol Anda, dan mengonfigurasi koneksi SSH tanpa kata sandi ke host yang dikelola.
File inventaris host statis
Di dalam Semu, File inventaris statis adalah file teks biasa yang berisi daftar host yang dikelola yang dideklarasikan di bawah grup host menggunakan nama host atau alamat IP.
Nama grup host tertutup dalam kurung persegi i.e [nama grup]
. Entri host yang dikelola kemudian tercantum di bawah nama grup, masing -masing di jalurnya sendiri. Seperti dibahas sebelumnya, host terdaftar menggunakan nama host atau alamat IP.
[nama grup] Host A host ip_address b ip_address host c ip_address
Untuk keperluan ilustrasi, kami akan membuat file inventaris statis.
# mkdir test_lab && cd test_lab # vim hostsFile inventaris statis
[Webservers] 173.82.115.165 [database_server] 173.82.220.239 [pusat data: anak -anak] WebServer Database_Servers
Simpan file dan keluar.
Seperti yang dapat Anda lihat di file inventaris di atas, kami telah membuat 2 grup host: server web Dan database_servers. Juga, kami telah membuat grup tambahan yang disebut Pusat Data itu termasuk sekelompok kelompok tuan rumah yang dilambangkan dengan ': anak-anak'
Sufiks seperti yang terlihat di atas.
Ansible juga memungkinkan kelompok host ditempatkan di bawah nama grup. Di file inventaris di atas, server web Dan database_servers Grup telah ditempatkan di bawah Pusat Data.
CATATAN: Tidak wajib untuk menempatkan host yang dikelola dalam kelompok tuan rumah. Anda cukup mencantumkannya menggunakan nama host atau alamat IP mereka misalnya.
173.82.202.239 172.82.115.165 LOAD_Balancer.pnl.com
Sekarang mari kita gunakan beberapa perintah ansible untuk merujuk file inventaris host. Sintaks dasar untuk manajemen inventaris adalah seperti yang ditunjukkan.
$ ansible host-pola -i/path/dari/inventaris/file-list-hosts
Misalnya,
$ ansible all -i/root/test_labs/host -daftar -rumahDaftar host yang tidak mungkin
Atau, Anda dapat menggunakan karakter wildcard *
untuk menggantikan 'semua'
argumen.
$ ansible * -i/root/test_labs/host -daftar -rumahDaftar Host Ansible Menggunakan Wildcards
Untuk membuat daftar host dalam grup, tentukan grup host di tempat pola host.
$ Ansible WebServers -i/root/test_labs/hosts -list -hostsDaftar Host Ansible di Grup
File inventaris host dinamis
Dalam konfigurasi - terutama pengaturan cloud seperti AWS Di mana file inventaris terus terus berubah saat Anda menambah atau menonaktifkan server, mengawasi host yang ditentukan dalam file inventaris menjadi tantangan nyata. Menjadi tidak nyaman untuk kembali ke file host dan memperbarui daftar host dengan alamat IP mereka.
Dan di sinilah a Inventaris Dinamis datang untuk bermain. Jadi apa itu inventaris yang dinamis? Inventarisasi Dinamis adalah skrip yang ditulis dalam Python, PHP atau bahasa pemrograman lainnya. Muncul berguna di lingkungan cloud seperti AWS di mana alamat IP berubah begitu server virtual dihentikan dan dimulai lagi.
Ansible telah mengembangkan skrip inventaris untuk platform cloud publik seperti Google Compute Engine, Amazon EC2 Instance, OpenStack, Rackspace, Cobbler, antara lain.
Apa keuntungan dari inventaris dinamis dibandingkan inventaris statis?
- Inventaris Dinamis Lakukan pekerjaan yang sempurna untuk mengurangi kesalahan manusia saat informasi dikumpulkan menggunakan skrip.
- Upaya minimal diperlukan dalam mengelola inventaris.
Anda dapat menulis inventaris dinamis kustomisasi Anda sendiri dalam bahasa pemrograman pilihan Anda. Inventaris harus mengembalikan format di JSON saat opsi yang tepat dilewatkan.
Memanfaatkan skrip inventaris dinamis yang ada
Skrip yang digunakan untuk membuat inventaris dinamis harus dieksekusi sehingga ansible dapat menggunakannya.
Untuk mengambil informasi tentang host di dalam skrip inventaris dinamis cukup jalankan.
# ./skrip -list
Seperti yang ditunjukkan sebelumnya, output harus dalam JSON dalam format di bawah ini.
Kamus yang terdiri dari kelompok (i.E Webservers, Database_Server)
- Daftar host yang dikelola per grup
- Kamus Variabel
Kamus Meta
- Tuan rumah dan hostvars
Output sampel
"WebServer": "hosts": ["WebServer1.contoh.com "," WebServer2.contoh.com "]," vars ": ," database_servers ": " hosts ": [" mysql_db1 "," mysql_db2 "]," vars ": ," _meta ": " hostvars ": " mysql_db2 ": ," WebServer2.contoh.com ": ," WebServer1.contoh.com ": ," mysql_db1 ":
Kesimpulan
Dalam artikel ini, kami telah menunjukkan cara membuat inventaris statis dan dinamis. Singkatnya, file inventaris statis adalah file teks biasa yang berisi daftar host yang dikelola atau node jarak jauh yang nomor dan alamat IP tetap cukup konstan.
Di sisi lain, file host dinamis terus berubah saat Anda menambahkan host baru atau dekomisi yang lama. Alamat IP host juga dinamis saat Anda berhenti dan memulai sistem host baru. Kami berharap Anda menemukan tutorial ini informatif.