Vlastní fakta (místní fakta) jsou proměnné, které jsou deklarovány na ansible spravovaném hostiteli. Vlastní fakta jsou deklarována v souboru ini nebo json v adresáři /etc/ansible/facts.d na spravovaném hostiteli. Názvy souborů vlastních faktů musí mít příponu .fact.
V tomto článku se budeme zabývat tím, jak vytvořit a použít vlastní fakta k instalaci souborového serveru samba a spuštění jeho služby na spravovaném hostiteli ansible. Zde používáme hostitele1 a hostitel2 jako součást skupiny souborových serverů v inventáři.
Abych demonstroval vlastní fakta, následuje moje nastavení laboratoře
- control.example.com – 10.20.0.57
- host1.example.com — 10.20.0.10 // Spravovaný hostitel Ansible
- host3.example.com — 10.20.0.30 // Ansible spravovaní hostitelé
Poznámka: uživatel devops je nakonfigurován na ansible control a spravovaných hostitelích s právy sudo. Inventory a soubor ansible.cfg jsou definovány v adresáři /home/develops/install. Obsah mého inventáře je uveden níže:
[[email protected] install]$ cat inventory [fileservers] host1.example.com host3.example.com [dbservers] host2.example.com host1.example.com [[email protected] install]$
Logické kroky k prohlášení a použití vlastních místních faktů jsou
- Vytvořte soubor s fakty na hostiteli ansible control s příponou .fact
- Vytvořte v playbooku jednu hru a vytvořte složku „/etc/ansible/facts.d“ a zkopírujte soubor faktů na spravované hostitele do této složky.
- Vytvořte v playbooku 2. hru, která bude používat tato vlastní fakta pomocí ansible_local.
. . k instalaci serveru samba a spuštění jeho služby.
Pojďme se ponořit do skutečné implementace vlastních nebo místních skutečností.
Krok 1) Vytvořte soubor vlastních faktů v řídicím uzlu
Pojďme vytvořit soubor customfacts.fact s následujícím obsahem
[[email protected] install]$ cat customfacts.fact [localfacts] pkgname = samba srvc = smb [[email protected] install]$
Zde localfacts je factname a pkgname &srvc jsou proměnné.
Krok 2) Vytvořte sešit se dvěma různými hrami
Vytvořte příručku customfacts-install.yaml s následujícím obsahem
[[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
uložte a ukončete soubor.
Krok 3) Spusťte playbook na souborových serverech
Spustíme playbook na souborových serverech, než jej spustíme, ověříme konektivitu od řídicího uzlu k těmto uzlům.
[[email protected] install]$ ansible fileservers -m ping
Výše potvrzuje, že ping pong funguje dobře, takže spusťte ansible playbook pomocí příkazu beneath,
[[email protected] install]$ ansible-playbook customfacts-install.yaml
Výše uvedený výstup ukazuje, že playbook byl úspěšně proveden. Pojďme ověřit instalaci vlastních faktů a služby samba.
Krok 5) Ověřte vlastní místní fakta a službu Samba
Spusťte pod přípustným ad-hoc příkazem ověřit instalaci vlastních faktů
[[email protected] install]$ ansible fileservers -m setup -a "filter=ansible_local"
Ověřte stav služby serveru samba provedením níže:
[[email protected] install]$ ansible fileservers -m command -a "systemctl status smb"
Perfektní, výše uvedený výstup potvrzuje, že Samba byla úspěšně nainstalována a její služba je v provozu.
To je z tohoto článku vše, doufám, že získáte základní představu o instalaci vlastních faktů a jejich použití.