Tidak boleh difahami

Cara Menggunakan Fakta Tersuai yang Boleh Dikenal

Cara Menggunakan Fakta Tersuai yang Boleh Dikenal
Fakta adalah seperti pemboleh ubah dalam Ansible. Ansible menghasilkan banyak fakta, bergantung pada host yang ia automatikkan. Sekiranya anda memerlukan, anda juga boleh menentukan fakta / pemboleh ubah tersuai dalam Ansible.

Anda boleh menentukan tiga jenis fakta tersuai dalam Ansible.

1) Fakta global: Fakta-fakta ini dapat diakses dari setiap host dalam fail inventori anda.
2) Fakta kumpulan: Fakta-fakta ini hanya dapat diakses dari kumpulan host atau kumpulan tuan rumah tertentu.
3) Fakta hos: Fakta-fakta ini hanya dapat diakses dari host tertentu.

Dalam artikel ini, saya akan menunjukkan kepada anda cara bekerja dengan fakta tersuai 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.

Menyiapkan Direktori Projek:

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

Untuk membuat direktori projek fakta-adat / di anda RUMAH direktori, jalankan arahan berikut:

$ mkdir -pv custom-fakta / playbook, host_vars, group_vars

Sekarang, arahkan ke fakta-adat / direktori seperti berikut:

$ cd fakta-fakta /

Buat fail konfigurasi Ansible tidak boleh dimakan.cfg dalam direktori projek anda seperti berikut:

$ nano tidak boleh dimakan.cfg

Taipkan baris berikut anda tidak boleh dimakan.cfg fail.

[lalai]
inventori = tuan rumah
host_key_checking = Salah

Setelah selesai, tekan + X diikuti oleh Y dan untuk menyelamatkan tidak boleh dimakan.cfg fail konfigurasi.

Sekarang, buat fail inventori Ansible tuan rumah dalam direktori projek anda seperti berikut:

hos $ nano

Taipkan baris berikut di tuan rumah fail inventori.

vm1.angguk.com
vm2.angguk.com
[laman web]
vm3.angguk.com
vm4.angguk.com
[pangkalan data]
vm [5: 6].angguk.com

Setelah selesai, tekan + X diikuti oleh Y dan untuk menyelamatkan tuan rumah fail inventori.

Untuk menyenaraikan semua hos yang ada dalam fail inventori anda, jalankan arahan berikut:

$ ansible semua - senarai-hos

Seperti yang anda lihat, saya mempunyai enam hos dalam fail inventori saya.

Untuk menyenaraikan host yang terdapat di laman web kumpulan fail inventori anda, jalankan arahan berikut:

$ ansible web - senarai-hos

Seperti yang anda lihat, saya mempunyai dua hos (vm3.angguk.com dan vm4.angguk.com) di dalam laman web kumpulan fail inventori saya.

Untuk menyenaraikan host yang terdapat di pangkalan data kumpulan fail inventori anda, jalankan arahan berikut:

pangkalan data $ ansible - list-host

Seperti yang anda lihat, saya mempunyai dua hos (vm5.angguk.com dan vm6.angguk.com) di dalam pangkalan data kumpulan fail inventori saya.

Bekerja dengan Fakta Sejagat yang Boleh Dibaca:

Di bahagian ini, saya akan menunjukkan kepada anda cara menentukan fakta / pemboleh ubah global Ansible dalam fail inventori anda dan mengaksesnya dari buku main Ansible anda. Saya juga akan menunjukkan kepada anda cara menentukan fakta / pemboleh ubah global dalam fail yang berasingan.

Pertama, buka tuan rumah fail inventori dengan arahan berikut:

hos $ nano

Sekarang, tambahkan garis yang ditandai di tuan rumah fail inventori. Setelah selesai, tekan + X diikuti oleh Y dan untuk menyimpan fail.

'

Anda menambah fakta global di semua: vars bahagian. Di sini, saya telah menambah web_url fakta global.

Sekarang, buat buku main baru print_global_fact.keladi di dalam buku permainan / direktori seperti berikut:

Buku main $ nano / print_global_fact.keladi

Kemudian, taipkan baris berikut di print_global_fact.keladi fail.

- tuan rumah: semua
pengguna: tidak boleh dimakan
tugas:
- nama: Cetak nilai fakta global 'web_url'
nyahpepijat:
msg: 'URL Web: web_url'

Tujuan buku main ini adalah untuk mencetak web_url fakta global.

Setelah selesai, tekan + X diikuti oleh Y dan untuk menyelamatkan print_global_fact.keladi fail.

Sekarang, jalankan print_global_fact.keladi buku permainan seperti berikut:

$ ansible-playbook playbooks / print_global_fact.keladi

Seperti yang anda lihat, semua host dalam fail inventori saya dapat mengakses fakta global web_url.

Anda juga boleh menambahkan fakta global dalam fail yang berasingan. Dengan cara ini, anda dapat menjaga kebersihan fail inventori. Mari lihat bagaimana melakukannya.

Pertama, mari kita keluarkan fakta global dari tuan rumah fail inventori.

hos $ nano

Sekarang, keluarkan garis yang ditandai dari fail inventori dan tekan + X, diikuti oleh Y dan untuk menyimpan fail inventori.

Kemudian, buat fail baru semua di dalam kumpulan_vars / direktori seperti berikut:

$ nano group_vars / semua

Untuk menambahkan fakta global web_url, taipkan baris berikut di kumpulan_vars / semua fail.

web_url: https: // www.linuxhint.com

Setelah selesai, tekan + X diikuti oleh Y dan untuk menyelamatkan kumpulan_vars / semua fail.

Untuk memeriksa sama ada anda boleh mengakses fakta global web_url, jalankan print_global_fact.keladi buku main lagi seperti berikut:

$ ansible-playbook playbooks / print_global_fact.keladi

Seperti yang anda lihat, semua host dalam fail inventori saya dapat mengakses fakta global web_url.

Bekerja dengan Fakta Kelompok Ansible:

Di bahagian ini, saya akan menunjukkan kepada anda cara menentukan fakta / pemboleh ubah kumpulan Ansible dalam fail inventori anda dan mengaksesnya dari buku main Ansible anda. Saya juga akan menunjukkan cara menentukan fakta / pemboleh ubah kumpulan dalam fail yang berasingan.

Pertama, buka tuan rumah fail inventori dengan arahan berikut:

hos $ nano

Sekiranya anda mempunyai kumpulan tuan rumah kumpulan1, kemudian anda menambahkan fakta kumpulan / pemboleh ubah untuk kumpulan inang tersebut dalam kumpulan1: vars bahagian fail inventori anda.

[kumpulan1]

[kumpulan1: vars]
pemboleh ubah1 = nilai1
pemboleh ubah2 = nilai2

Sebagai contoh, untuk menambahkan fakta / pemboleh ubah kumpulan nama domain dan pangkalan data_kembali untuk laman web kumpulan tuan rumah, anda boleh menaip baris bertanda dalam fail inventori anda.

Setelah selesai, tekan + X diikuti oleh Y dan untuk menyimpan fail inventori.

Untuk mencetak dan menguji sama ada kita dapat mengakses fakta kumpulan, buat buku permainan baru print_group_facts.keladi di dalam buku permainan / direktori seperti berikut:

Buku main $ nano / print_group_facts.keladi

Taipkan baris berikut di print_group_facts.keladi fail.

- hos: web
pengguna: tidak boleh dimakan
tugas:
- nama: Mencetak fakta kumpulan
nyahpepijat:
msg: 'Nama Domain: domain_name Latar Belakang Pangkalan Data: database_backend'

Setelah selesai, tekan + X diikuti oleh Y dan untuk menyelamatkan print_group_facts.keladi fail.

Sekarang, jalankan print_group_facts.keladi buku permainan seperti berikut:

$ ansible-playbook playbooks / print_group_facts.keladi

Seperti yang anda lihat, host di laman web kumpulan boleh mengakses nama domain dan pangkalan data_kembali fakta kumpulan / pemboleh ubah.

Sekarang, mari bersihkan fail inventori dan lihat bagaimana menambahkan fakta / pemboleh ubah kumpulan dalam fail yang berasingan.

Pertama, buka tuan rumah fail inventori seperti berikut:

$ nano fakta

Tanggalkan garis yang ditandakan dari tuan rumah fail inventori. Setelah selesai, tekan + X diikuti oleh Y dan untuk menyelamatkan tuan rumah fail inventori.

Semasa kami menambahkan pemboleh ubah kumpulan untuk laman web kumpulan hos, buat fail baru laman web (sama dengan nama kumpulan) di kumpulan_vars / direktori seperti berikut:

$ nano group_vars / web

Untuk menambahkan fakta kumpulan nama domain dan pangkalan data_kembali untuk laman web kumpulan tuan rumah, tambahkan baris berikut di kumpulan_vars / web fail.

domain_name: web.linuxhint.com
pangkalan data_balik: pgsql

Setelah selesai, tekan + X diikuti oleh Y dan untuk menyelamatkan kumpulan_vars / web fail.

Untuk memeriksa sama ada host di laman web kumpulan boleh mengakses fakta kumpulan, jalankan print_group_facts.keladi buku permainan seperti berikut:

$ ansible-playbook playbooks / print_group_facts.keladi

Seperti yang anda lihat, host di laman web kumpulan boleh mengakses nama domain dan pangkalan data_kembali fakta kumpulan / pemboleh ubah.

Bekerja dengan Fakta Hos yang Boleh Dibaca:

Di bahagian ini, saya akan menunjukkan kepada anda bagaimana untuk menentukan fakta / pemboleh ubah host yang tidak dapat dilihat dalam fail inventori anda dan mengaksesnya dari buku main Ansible anda. Saya juga akan menunjukkan kepada anda cara menentukan fakta / pemboleh ubah host dalam fail yang berasingan.

Pertama, buka tuan rumah fail inventori dengan arahan berikut:

hos $ nano

Anda boleh menambahkan fakta / pemboleh ubah host selepas nama DNS atau alamat IP host dalam fail inventori anda seperti berikut:

www.domain1.com pemboleh ubah1 = nilai1 pemboleh ubah2 = nilai2
192.168.22.2 pemboleh ubah1 = nilai3 pemboleh ubah2 = nilai4

Sebagai contoh, anda boleh menambahkan fakta / pemboleh ubah host nama domain dan pangkalan data_kembali untuk tuan rumah vm3.angguk.com dan vm4.angguk.com, seperti yang ditandakan pada tangkapan skrin di bawah.

Perhatikan bahawa nilai nama domain dan pangkalan data_kembali fakta / pemboleh ubah berbeza untuk setiap tuan rumah.

Setelah selesai menambahkan fakta / pemboleh ubah host, tekan + X, diikuti oleh Y dan untuk menyelamatkan tuan rumah fail inventori.

Oleh kerana saya telah menambah fakta / pemboleh ubah yang sama seperti pada contoh kumpulan / pemboleh ubah, kita boleh menggunakan print_group_facts.keladi buku permainan untuk menguji kebolehcapaian fakta / pemboleh ubah ini juga.

Jalankan print_group_facts.keladi buku permainan seperti berikut:

buku permainan $ ansible-playbook / print_group_facts.keladi

Seperti yang anda lihat, fakta / pemboleh ubah host dapat diakses oleh host yang ditentukan mereka. Nilai juga berbeza untuk setiap hos.

Oleh kerana setiap hos berada dalam baris berasingan dalam fail inventori saya, saya dapat menambahkan fakta / pemboleh ubah host dengan mudah dalam fail inventori saya. Tetapi, jika anda menggunakan julat untuk menentukan host dalam fail inventori anda seperti yang ditandakan pada tangkapan skrin di bawah, anda tidak dapat menambahkan fakta / pemboleh ubah host seperti itu.

Anda boleh menambahkan fakta / pemboleh ubah host dalam fail yang berasingan, seperti yang anda lakukan untuk fakta / pemboleh ubah global dan kumpulan.

Untuk menambah fakta / pemboleh ubah host untuk vm5.angguk.com hos, buat fail baru vm5.angguk.com (sama dengan nama DNS host) di host_vars / direktori seperti berikut:

$ nano host_vars / vm5.angguk.com

Anda boleh menambah fakta / pemboleh ubah host db_port dan db_nama untuk tuan rumah vm5.angguk.com dengan baris berikut.

db_port: 3306
db_name: demo1

Setelah selesai, tekan + X diikuti oleh Y dan untuk menyelamatkan vm5.angguk.com fail.

Dengan cara yang sama, untuk menambahkan fakta / pemboleh ubah host untuk host vm6.angguk.com, buat fail baru vm6.angguk.com di dalam host_vars / direktori seperti berikut:

$ nano host_vars / vm6.angguk.com

Anda boleh menambah fakta / pemboleh ubah host db_port dan db_nama untuk tuan rumah vm6.angguk.com dengan baris berikut.

db_port: 8877
db_name: aplikasi1

Setelah selesai, tekan + X diikuti oleh Y dan untuk menyelamatkan vm6.angguk.com fail.

Untuk mencetak dan menguji sama ada kita dapat mengakses fakta / pemboleh ubah host, buat buku main baru print_host_facts.keladi di dalam buku permainan / direktori seperti berikut:

Buku main / cetak_host_facts $ nano.keladi

Sekarang, ketik baris berikut di print_host_facts.keladi fail.

- hos: pangkalan data
pengguna: tidak boleh dimakan
tugas:
- nama: Mencetak fakta hos
nyahpepijat:
msg: 'Nama Pangkalan Data: db_name Port Pangkalan Data: db_port'

Setelah selesai, tekan + X diikuti oleh Y dan untuk menyelamatkan print_host_facts.keladi fail.

Untuk memeriksa sama ada hos vm5.angguk.com dan vm6.angguk.com boleh mengakses fakta / pemboleh ubah host, jalankan print_host_facts.keladi buku permainan seperti berikut:

$ ansible-playbook playbooks / print_host_facts.keladi

Seperti yang anda lihat, tuan rumah vm5.angguk.com dan vm6.angguk.com boleh mengakses db_nama dan db_port hos fakta / pemboleh ubah.

Menggabungkan Semuanya: Keutamaan Fakta Tidak Boleh Dikenal

Dalam bahagian ini, saya akan membincangkan mengenai fakta yang boleh didengar / didahului pemboleh ubah. Oleh itu, mari kita mulakan.

Sebelum kita bermula, mari bersihkan fail inventori.

Buka tuan rumah fail inventori dengan arahan berikut:

hos $ nano

Keluarkan bahagian yang ditandakan dari fail inventori.

Ini adalah bagaimana fail inventori anda harus dilihat pada tahap ini.

Sekarang, tambahkan baris yang ditandakan dalam fail inventori anda. Garis-garis ini menambah fakta / pemboleh ubah global fakta_kawasan dan pelabuhan.

Kemudian, tambahkan baris yang ditandakan dalam fail inventori anda. Garis-garis ini menambah fakta_kawasan dan pelabuhan fakta / pemboleh ubah untuk tuan rumah di pangkalan data kumpulan.

Akhir sekali, tambah fakta_kawasan dan pelabuhan host fakta / pemboleh ubah untuk vm3.angguk.com dan vm4.angguk.com hos, seperti yang ditunjukkan dalam tangkapan skrin di bawah.

Setelah selesai, tekan + X diikuti oleh Y dan untuk menyimpan fail inventori.

Untuk mencetak nilai fakta / pemboleh ubah global, kumpulan dan hos, buat buku main baru fakta_kepentingan.keladi di dalam buku permainan / direktori seperti berikut:

Buku permainan $ nano / fact_precedence.keladi

Taipkan baris berikut di fact_precedence.keladi fail.

- tuan rumah: semua
pengguna: tidak boleh dimakan
tugas:
- nama: Mencetak semua fakta
nyahpepijat:
msg: 'Fakta Skop: fact_scope Port: port'

Setelah selesai, tekan + X diikuti oleh Y dan untuk menyelamatkan fact_precedence.keladi fail.

Untuk mencetak fakta / pembolehubah global, kumpulan, dan host, jalankan fact_precedence.keladi buku permainan seperti berikut:

$ ansible-playbook playbooks / fact_precedence.keladi

Seperti yang anda lihat, fakta / pembolehubah global, kumpulan, dan inang dicetak.

Perhatikan bahawa fakta kumpulan / pemboleh ubah menggantikan fakta / pemboleh ubah global (1). Juga, perhatikan bahawa fakta / pemboleh ubah host menggantikan kedua-dua kumpulan / fakta global / pemboleh ubah (2).

Fakta / keutamaan variabel Ansible adalah seperti berikut:

Fakta hos> Fakta kumpulan> Fakta global

Kesimpulan:

Setelah membaca artikel ini, anda seharusnya dapat bekerja dengan selesa dengan fakta / pembolehubah global, kumpulan, dan host Ansible. Ingatlah keutamaan fakta kebiasaan Ansible. Ini akan membantu anda menyahpepijat buku main Ansible anda dengan lebih mudah.

Cara Memasang League Of Legends di Ubuntu 14.04
Sekiranya anda peminat League of Legends, maka ini adalah peluang bagi anda untuk menguji menjalankan League of Legends. Perhatikan bahawa LOL disokon...
Pasang permainan Strategi OpenRA terkini di Ubuntu Linux
OpenRA adalah mesin permainan Strategi Masa Nyata / Bebas yang mencipta semula permainan Westwood awal seperti Command & Conquer klasik: Makluman Mera...
Pasang Dolphin Emulator terkini untuk Gamecube & Wii di Linux
Dolphin Emulator membolehkan anda memainkan permainan Gamecube & Wii pilihan anda di Komputer Peribadi Linux (PC). Menjadi emulator permainan sumber ...