GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare e utilizzare fatti personalizzati in Ansible

I fatti personalizzati (fatti locali) sono le variabili dichiarate su un host gestito ansible. I fatti personalizzati vengono dichiarati nel file ini o json nella directory /etc/ansible/facts.d sull'host gestito. I nomi dei file dei fatti personalizzati devono avere l'estensione .fact.

In questo articolo, illustreremo come creare e utilizzare i fatti personalizzati per installare il file server samba e avviarne il servizio su un host gestito ansible. Qui stiamo usando host1 e host2 come parte del gruppo di fileserver nell'inventario.

Per dimostrare fatti personalizzati, di seguito è riportata la configurazione del mio lab

  • control.example.com —  10.20.0.57
  • host1.example.com   —  10.20.0.10       // Ansible Managed Host
  • host3.example.com   — 10.20.0.30         // Host gestiti da Ansible

Nota : L'utente devops è configurato su un controllo ansible e gestisce host con diritti sudo. L'inventario e il file ansible.cfg sono definiti nella directory /home/develops/install. I contenuti del mio inventario sono mostrati di seguito:

[[email protected] install]$ cat inventory
[fileservers]
host1.example.com
host3.example.com

[dbservers]
host2.example.com
host1.example.com
[[email protected] install]$

I passaggi logici per dichiarare e utilizzare fatti locali personalizzati sono

  • Crea un file fact su un host di controllo ansible con estensione .fact
  • Crea una riproduzione nel playbook per creare una cartella "/etc/ansible/facts.d" e copiare il file dei fatti sugli host gestiti in questa cartella.
  • Crea la seconda riproduzione nel playbook che utilizzerà questi fatti personalizzati utilizzando ansible_local... per installare il server samba e avviarne il servizio.

Immergiamoci nell'effettiva implementazione di fatti personalizzati o locali.

Passaggio 1) Crea un file dei fatti personalizzato sul nodo di controllo

Creiamo il file customfacts.fact con i seguenti contenuti

[[email protected] install]$ cat customfacts.fact
[localfacts]
pkgname = samba
srvc = smb
[[email protected] install]$

Qui localfacts è factname e pkgname e srvc sono variabili.

Passaggio 2) Crea un playbook con due riproduzioni diverse

Crea il playbook customfacts-install.yaml con i seguenti contenuti

[[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

salva ed esci dal file.

Passaggio 3) Esegui il playbook sui server di file

Eseguiremo il playbook su file server, prima di eseguirlo, verifichiamo la connettività dal nodo di controllo verso questi nodi.

[[email protected] install]$ ansible fileservers -m ping

Sopra conferma che il ping pong funziona bene, quindi eseguiamo il playbook ansible usando il comando sotto,

[[email protected] install]$ ansible-playbook customfacts-install.yaml

L'output sopra mostra che il playbook è stato eseguito correttamente. Verifichiamo l'installazione dei fatti personalizzati e del servizio samba.

Passaggio 5) Verifica i fatti locali personalizzati e il servizio Samba

Esegui sotto il comando ad hoc  ansible per verificare l'installazione dei fatti personalizzati

[[email protected] install]$ ansible fileservers -m setup -a "filter=ansible_local"

Verifica lo stato del servizio del server samba eseguendo di seguito:

[[email protected] install]$ ansible fileservers -m command -a "systemctl status smb"

Perfetto, l'output sopra conferma che Samba è stato installato correttamente e il suo servizio è attivo e funzionante.

Questo è tutto da questo articolo, spero che tu abbia un'idea di base sull'installazione dei fatti personalizzati e sul suo utilizzo.


Linux
  1. Come utilizzo Ansible e anacron per l'automazione

  2. Come creare e utilizzare i sottodomini

  3. Come installare e utilizzare Ansible su Debian 11

  4. Come utilizzare GParted per creare e ridimensionare facilmente le partizioni

  5. Come creare un alias e utilizzare il comando alias in Linux

Come creare un'Amazon Machine Image (AMI) e utilizzarla su AWS

Come definire e utilizzare i gestori in Ansible Playbook

Come creare ed eseguire file Ansible Playbook

Come usare Ansible per configurare Vim

Come installare e utilizzare Ansible su Debian 10

Come creare e utilizzare file di scambio su Linux