Tidak boleh difahami

Cara Membangunkan Inventori Ansible dalam Format JSON

Cara Membangunkan Inventori Ansible dalam Format JSON
Secara lalai, fail inventori Ansible menggunakan format konfigurasi INI. Anda juga dapat menggunakan format konfigurasi JSON (Notasi Objek JavaScript) untuk fail inventori Ansible juga.

Dalam artikel ini, saya akan menunjukkan kepada anda cara menggunakan format konfigurasi JSON untuk membina fail inventori Ansible. Oleh itu, mari kita mulakan.

Prasyarat:

Sekiranya anda ingin mencuba contoh artikel ini,

1) Anda mesti memasang Ansible di komputer anda.
2) Anda mesti mempunyai sekurang-kurangnya 6 host Linux yang dikonfigurasi untuk automasi Ansible.

Terdapat banyak artikel mengenai LinuxHint yang dikhaskan untuk Memasang Ansible dan mengkonfigurasi host untuk automasi Ansible. Anda boleh memeriksanya jika diperlukan.

Membuat Direktori Projek:

Dalam artikel ini, saya akan menggunakan Kod Visual Studio untuk mengedit fail konfigurasi Ansible, fail inventori, dan buku main. Anda boleh menggunakan mana-mana editor atau IDE yang anda mahukan.

Sebelum anda memulakan, mari buat direktori projek supaya kami dapat mengatur fail projek kami.

Saya telah membuat direktori projek baru json-inventori / di saya RUMAH direktori seperti yang anda lihat dalam tangkapan skrin di bawah.

Setelah anda membuat direktori projek baru, buka dengan editor teks kegemaran anda atau IDE.

Dalam Kod Visual Studio, pergi ke Fail > Buka fail… seperti yang ditandakan pada tangkapan skrin di bawah.

Sekarang, pilih direktori projek json-inventori / dan klik pada okey.

Direktori projek harus dibuka dengan Visual Studio Code.

Sekarang, klik pada Fail Baru  dan buat fail baru tidak boleh dimakan.cfg.

Kemudian, taipkan baris berikut di tidak boleh dimakan.cfg fail.

[lalai]
inventori = tuan rumah.json
host_key_checking = Salah

Setelah selesai, tekan + S untuk menyelamatkan tidak boleh dimakan.cfg fail.

Dengan cara yang sama, buat a tuan rumah.json fail. Ini adalah fail inventori JSON. Biarkan kosong sekarang. Kami akan mengusahakannya kemudian.

Sekarang, klik pada Fail baharu  dan buat direktori baru buku permainan seperti yang ditunjukkan dalam tangkapan skrin di bawah.

Menambah Host ke Fail Inventori JSON:

Di bahagian ini, saya akan menunjukkan kepada anda cara menambahkan hos ke fail inventori anda dalam format JSON.

Di dalam tuan rumah.json fail inventori, anda menambah semua bahagian.


"semua":

Dalam semua bahagian, anda menambah a tuan rumah bahagian dan tambah hos anda.


"semua":
"hos":
"host1": batal,
"host2": batal


Contohnya, anda boleh menambah hos vm1.angguk.com dan vm2.angguk.com di dalam tuan rumah.json fail inventori seperti berikut.


"semua":
"hos":
"vm1.angguk.com ": batal,
"vm2.angguk.com ": batal


Setelah selesai, tekan + S untuk menyelamatkan tuan rumah.json fail.

Anda boleh menyemak hos mana yang tersedia dalam fail inventori anda dengan arahan berikut:

$ ansible --list-host semua

Seperti yang anda lihat, hos yang telah saya tambahkan dalam fail inventori saya (vm1.angguk.com dan vm2.angguk.com) disenaraikan.

Mengelompokkan Host dalam Fail Inventori JSON:

Di bahagian ini, saya akan menunjukkan kepada anda cara mengumpulkan host dalam fail inventori JSON anda.

Kumpulan hos lalai dalam Ansible adalah semua. The semua kumpulan mempunyai semua host dari setiap kumpulan (termasuk host dari semua kumpulan).

Anda menambah kumpulan hos di kanak-kanak bahagian fail inventori JSON anda.


"semua":

"kanak-kanak":
"kumpulan1":
,
"kumpulan2":



Contohnya, untuk menambah hos vm3.angguk.com dan vm4.angguk.com di dalam laman web kumpulan, dan untuk menambah hos vm5.angguk.com dan vm6.angguk.com di dalam db kumpulan, taip baris berikut dalam fail inventori JSON anda.


"semua":
"hos":
"vm1.angguk.com ": batal,
"vm2.angguk.com ": batal
,
"kanak-kanak":
"web":
"hos":
"vm3.angguk.com ": batal,
"vm4.angguk.com ": batal

,
"db":
"hos":
"vm5.angguk.com ": batal,
"vm6.angguk.com ": batal




Setelah selesai, tekan + S untuk menyelamatkan tuan rumah.json fail.

Di sini, garis bertanda menambah hos vm3.angguk.com dan vm4.angguk.com di dalam laman web kumpulan.

Garis yang ditandakan menambah hos vm5.angguk.com dan vm6.angguk.com di dalam db kumpulan.

Sekarang, anda boleh menyenaraikan semua hos yang ada dalam fail inventori JSON anda dengan arahan berikut:

$ ansible --list-host semua

Seperti yang anda lihat, semua tuan rumah dari setiap kumpulan (laman web, db, dan semua) dipaparkan.

Untuk menyenaraikan hos yang tersedia dari laman web kumpulan sahaja, jalankan arahan berikut:

$ ansible - senarai-host-web

Seperti yang anda lihat, semua host di laman web kumpulan dipaparkan.

Dengan cara yang sama, anda boleh menyenaraikan semua hos yang ada dari db kumpulan dengan arahan berikut:

$ ansible --list-host db

Seperti yang anda lihat, semua host di db kumpulan dipaparkan.

Menambah Fakta Global dalam Fail Inventori JSON:

Dalam Ansible, pemboleh ubah juga disebut fakta. Fakta global atau pemboleh ubah global dapat diakses dari setiap kumpulan setiap kumpulan dalam fail inventori JSON anda. Dalam bahagian ini, saya akan menunjukkan kepada anda bagaimana untuk menambahkan fakta global atau pemboleh ubah global dalam buku.

Anda boleh menambahkan fakta global atau pemboleh ubah global di vars bahagian di dalam semua bahagian fail inventori JSON anda seperti berikut:


"semua":
"hos":

,
"vars":
"pemboleh ubah1": "nilai1",
"pemboleh ubah2": "nilai2"
,
"kanak-kanak":
"web":

,
"db":




Sebagai contoh, anda boleh menambahkan fakta / pemboleh ubah global webroot dan indeks di dalam vars bahagian fail inventori JSON anda seperti berikut:


"semua":
"hos":
"vm1.angguk.com ": batal,
"vm2.angguk.com ": batal
,
"vars":
"webroot": "/ var / www / html",
"indeks": "indeks.php "
,
"kanak-kanak":
"web":
"hos":
"vm3.angguk.com ": batal,
"vm4.angguk.com ": batal

,
"db":
"hos":
"vm5.angguk.com ": batal,
"vm6.angguk.com ": batal




Setelah selesai, tekan + S untuk menyimpan fail inventori JSON.

Untuk memeriksa sama ada fakta / pemboleh ubah global berfungsi, saya akan membuat buku main baru print_vars1.keladi. Tujuan buku main ini adalah untuk mencetak fakta / pemboleh ubah dengan menggunakan nyahpepijat modul Ansible. Ini juga akan membantu kita memahami fakta / keutamaan yang berubah-ubah kemudian.

Jadi, buat buku permainan baru print_vars1.keladi di anda buku permainan / direktori dan ketik baris berikut di anda print_vars1.keladi fail.

- tuan rumah: semua
pengguna: tidak boleh dimakan
tugas:
- nama: Cetak webroot dan indeks
nyahpepijat:
msg: 'WebRoot webroot dan Indeks index'

Setelah selesai, tekan + S untuk menyelamatkan print_vars1.keladi fail.

Untuk memeriksa sama ada fakta / pemboleh ubah global berfungsi, jalankan print_vars1.keladi buku permainan seperti berikut:

$ ansible-playbook playbooks / print_vars1.keladi

Buku permainan harus berjalan dengan jayanya.

Tatal kembali ke TUGASAN bahagian. Seperti yang anda lihat, webroot dan indeks fakta / pemboleh ubah digunakan untuk setiap host dalam fail inventori JSON saya. Jadi, fakta / pemboleh ubah global berfungsi.

Menambah Fakta Kumpulan dalam Fail Inventori JSON:

Anda juga boleh menambah fakta / pemboleh ubah untuk kumpulan host tertentu. Di bahagian ini, saya akan menunjukkan kepada anda cara menambahkan fakta / pemboleh ubah kumpulan dalam fail inventori JSON anda.

Saya akan menambah yang sama webroot dan indeks fakta di laman web kumpulan hos fail inventori JSON saya. Nilai fakta-fakta ini akan berbeza. Saya telah melakukannya supaya anda juga dapat memahami bagaimana fakta / prioriti pemboleh ubah berfungsi dalam Ansible.

Untuk menambah fakta webroot dan indeks di dalam laman web kumpulan tuan rumah, tambah a vars bahagian di laman web bahagian fail inventori JSON anda seperti berikut:


"semua":
"hos":
"vm1.angguk.com ": batal,
"vm2.angguk.com ": batal
,
"vars":
"webroot": "/ var / www / html",
"indeks": "indeks.php "
,
"kanak-kanak":
"web":
"hos":
"vm3.angguk.com ": batal,
"vm4.angguk.com ": batal
,
"vars":
"webroot": "/ web / awam_html",
"indeks": "indeks.html "

,
"db":
"hos":
"vm5.angguk.com ": batal,
"vm6.angguk.com ": batal




Setelah selesai, tekan + S untuk menyimpan fail inventori JSON.

Untuk memeriksa fakta, jalankan print_vars1.keladi buku permainan seperti berikut:

$ ansible-playbook playbooks / print_vars1.keladi

Seperti yang anda lihat, fakta kumpulan webroot dan indeks hanya tersedia untuk hos vm3.angguk.com dan vm4.angguk.com, tuan rumah di laman web kumpulan.

Juga, perhatikan bahawa fakta kumpulan (webroot dan indeks) menggantikan fakta global (webroot dan indeks). Jadi, anda boleh mengatakan bahawa fakta kumpulan mempunyai keutamaan yang lebih tinggi daripada fakta global.

Menambah Fakta Host dalam Fail Inventori JSON:

Anda juga boleh menambah fakta / pemboleh ubah khusus host dalam fail inventori JSON anda. Di bahagian ini, saya akan menunjukkan kepada anda cara menambahkan fakta / pemboleh ubah khusus host dalam fail inventori JSON anda.

Untuk fakta global atau kumpulan, kami menyimpan nilai tuan rumah batal.

Untuk menambah fakta hos, ganti batal dengan fakta hos anda dalam fail inventori JSON seperti berikut:

"hos":
"host1":
"var1": "nilai1",
"var2": "nilai2",
,
"host2":
"var2": "nilai3",
"var3": "nilai4",

Sebagai contoh, untuk menambah indeks hos fakta kepada vm5.angguk.com tuan rumah, ganti batal dengan fakta tuan rumah seperti berikut.


"semua":
"hos":
"vm1.angguk.com ": batal,
"vm2.angguk.com ": batal
,
"vars":
"webroot": "/ var / www / html",
indeks ":".php "
,
"kanak-kanak":
"web":
"hos":
"vm3.angguk.com ": batal,
"vm4.angguk.com ": batal
,
"vars":
"webroot": "/ web / awam_html",
"indeks": "indeks.html "

,
"db":
"hos":
"vm5.angguk.com ":
"indeks": "indeks.py "
,
"vm6.angguk.com ": batal




Setelah selesai, tekan + S untuk menyimpan fail inventori JSON.

Untuk memeriksa fakta yang ada, jalankan print_vars1.keladi buku permainan seperti berikut:

$ ansible-playbook playbooks / print_vars1.keladi

Seperti yang anda lihat, indeks fakta hanya tersedia untuk vm5.angguk.com tuan rumah.

Juga perhatikan bahawa fakta tuan rumah menggantikan fakta global. Fakta / pemboleh ubah host mempunyai keutamaan tertinggi dalam Ansible. Jadi, fakta / pemboleh ubah tuan rumah akan menggantikan fakta / pemboleh ubah kumpulan dan fakta / pemboleh ubah global.

Kesimpulan:

Dalam artikel ini, saya telah menunjukkan kepada anda cara membina fail inventori Ansible dalam format JSON. Saya telah menunjukkan kepada anda cara menambah hos, menambah kumpulan hos, menambah fakta global, menambah fakta kumpulan, dan menambahkan fakta hos dalam fail inventori anda dalam format JSON.

Cara membalikkan arah tatal Tetikus dan Pad Sentuh pada Windows 10
Tetikus dan Pad sentuhs bukan sahaja menjadikan pengkomputeran mudah, tetapi lebih cekap dan kurang memakan masa. Kami tidak dapat membayangkan kehidu...
Cara menukar saiz, warna & skema penunjuk dan kursor tetikus pada Windows 10
Penunjuk dan kursor tetikus di Windows 10 adalah aspek yang sangat penting dalam sistem operasi. Ini boleh dikatakan untuk sistem operasi lain juga, j...
Enjin Permainan Sumber Percuma dan Terbuka untuk Membangunkan Permainan Linux
Artikel ini akan merangkumi senarai enjin permainan sumber percuma dan terbuka yang dapat digunakan untuk mengembangkan permainan 2D dan 3D di Linux. ...