Fakta khusus (fakta lokal) adalah variabel yang dideklarasikan pada host terkelola yang memungkinkan. Fakta khusus dideklarasikan dalam file ini atau json di direktori /etc/ansible/facts.d pada host yang dikelola. Nama file fakta khusus harus memiliki ekstensi .fakta.
Dalam artikel ini, kami akan membahas cara membuat dan menggunakan fakta kustom untuk menginstal server file samba dan memulai layanannya pada host terkelola yang memungkinkan. Di sini kami menggunakan host1 dan host2 sebagai bagian dari grup server file dalam inventaris.
Untuk mendemonstrasikan fakta khusus, berikut adalah pengaturan lab saya
- control.example.com — 10.20.0.57
- host1.example.com — 10.20.0.10 // Host Terkelola yang Memungkinkan
- host3.example.com — 10.20.0.30 // Host Terkelola yang Memungkinkan
Catatan : pengguna devops dikonfigurasi pada kontrol yang memungkinkan dan host yang dikelola dengan hak sudo. Inventory dan file ansible.cfg didefinisikan di bawah direktori /home/develops/install. Isi inventaris saya ditunjukkan di bawah ini:
[[email protected] install]$ cat inventory [fileservers] host1.example.com host3.example.com [dbservers] host2.example.com host1.example.com [[email protected] install]$
Langkah logis untuk mendeklarasikan dan menggunakan fakta lokal khusus adalah
- Buat file fakta pada host kontrol yang memungkinkan dengan ekstensi .fact
- Buat satu permainan di playbook untuk membuat folder ‘/etc/ansible/facts.d’ dan salin file fakta pada host terkelola di folder ini.
- Buat permainan kedua di playbook yang akan menggunakan fakta khusus ini menggunakan ansible_local.
. . untuk menginstal server samba dan memulai layanannya.
Mari selami implementasi aktual dari kebiasaan atau fakta lokal.
Langkah 1) Buat file fakta khusus pada node kontrol
Mari kita buat file customfacts.fact dengan konten berikut
[[email protected] install]$ cat customfacts.fact [localfacts] pkgname = samba srvc = smb [[email protected] install]$
Di sini, fakta lokal adalah nama fakta dan pkgname &srvc adalah variabel.
Langkah 2) Buat buku pedoman dengan dua permainan berbeda
Buat playbook customfacts-install.yaml dengan konten berikut
[[email protected] install]$ vi customfacts-install.yaml --- - name: Install custom facts hosts: fileservers vars: remote_dir: /etc/ansible/facts.d facts_file: customfacts.fact tasks: - name: Create Facts Dir on Managed Hosts file: path: "{{ remote_dir }}" state: directory recurse: yes - name: Copy Contents to Facts file copy: src: "{{ facts_file }}" dest: "{{ remote_dir }}" - name: Install Samba Server with Custom Facts hosts: fileservers tasks: - name: Install SMB package: name: "{{ ansible_local.customfacts.localfacts.pkgname }}" state: present - name: Start SMB Service service: name: "{{ ansible_local.customfacts.localfacts.srvc }}" state: started enabled: yes
simpan dan keluar dari file.
Langkah 3) Jalankan buku pedoman di server file
Kami akan mengeksekusi playbook di fileserver, sebelum menjalankannya, mari kita verifikasi konektivitas dari node kontrol ke node tersebut.
[[email protected] install]$ ansible fileservers -m ping
Di atas mengonfirmasi bahwa ping pong berfungsi dengan baik, jadi mari jalankan playbook yang memungkinkan menggunakan perintah di bawah,
[[email protected] install]$ ansible-playbook customfacts-install.yaml
Output di atas menunjukkan bahwa playbook telah berhasil dijalankan. Mari verifikasi penginstalan fakta kustom dan layanan samba.
Langkah 5) Verifikasi Fakta Lokal Khusus dan Layanan Samba
Jalankan di bawah perintah ad-hoc yang memungkinkan untuk memverifikasi pemasangan fakta khusus,
[[email protected] install]$ ansible fileservers -m setup -a "filter=ansible_local"
Verifikasi status layanan server samba dengan menjalankan di bawah ini:
[[email protected] install]$ ansible fileservers -m command -a "systemctl status smb"
Sempurna, output di atas mengonfirmasi bahwa Samba telah berhasil diinstal dan layanannya aktif dan berjalan.
Itu saja dari artikel ini, saya harap Anda mendapatkan ide dasar tentang pemasangan fakta khusus dan penggunaannya.