Con l'uso dei moduli di ricerca, possiamo semplicemente attirare le informazioni che arrivano attraverso i domini esterni in Ansible. I filesistemi interni, i data warehouse o i servizi remoti sono solo alcuni esempi di questi domini. Dopo che le informazioni sono state raccolte da tali fornitori, le informazioni vengono elaborate dal modulo di ricerca e quindi recuperate tramite il motore di modelli di Ansible. E consentirà l'accesso a quel modello. L'obiettivo principale del plug -in di ricerca di configurazione Ansible è importare parametri o modelli che includono informazioni da domini esterni o dispositivi remoti.
Lavorando sul plug -in Lookup in Ansible
I seguenti sono i principi di lavoro del plug -in di ricerca avanzato nello strumento Ansible:
Contrariamente alle attività locali che operano con una directory così specificata associata al gioco o al ruolo implementato, le ricerche vengono eseguite con una directory specificata al di fuori del gioco o del ruolo.
Dovresti avere una solida comprensione di Ansible, la sua funzionalità e le sue istruzioni quando si utilizza il modulo di ricerca in Ansible perché questa è una funzionalità avanzata.
Le informazioni vengono elaborate solo in remoto. Pertanto, dobbiamo essere consapevoli del fatto che deve essere passato in un parametro o utilizzato come risorsa di informazioni dopo il calcolo o la valutazione.
Esistono diversi approcci diversi per abilitare moduli personalizzati come inserirli nel modulo di ricerca del dominio accanto, posizionandolo all'interno di un percorso di plug -in di ricerca e aggiungendo una fonte da una directory di ricerca impostata nel CFG.
Per la raccolta di informazioni o la generazione di informazioni, possiamo integrare i moduli ANSIBILE con filtri ed esperimenti.
L'operazione di query, che è stata implementata in Ansible nella versione 2.5, viene utilizzato per invocare i moduli di ricerca. Il modulo di query fornisce sempre un array di valori, mentre la ricerca produce un insieme di valori separati da virgola (CSV). Per forzare una ricerca per generare un valore, possiamo utilizzare specificamente il parametro WANTLIST = TRUE.
Prerequisiti del plugin di ricerca Ansible
Prima di implementare l'esempio, abbiamo bisogno che i seguenti criteri siano soddisfatti:
Deve esserci un server di controllo ansible di controller Ansible denominato. Per creare una connessione e utilizzare il plugin di ricerca di configurazione Ansible, avremo bisogno degli host remoti. E qui stiamo usando l'host locale come host remoto target durante l'implementazione.
Costruiremo playbook, emettiamo comandi Ansible e osserveremo i risultati su host lontani sul dispositivo Ansible-Controller.
Cercheremo di usare diversi scenari per esaminare alcuni dei plugin di ricerca Ansible. La configurazione del modulo di ricerca in questi scenari è destinata esclusivamente a dimostrare come utilizzarli.
Esempio 01: Visualizzazione delle configurazioni del ruolo predefinito in Ansible
Ora, implementeremo il primo esempio in cui otterremo il percorso del ruolo predefinito utilizzando il plug -in di ricerca di Ansible. Innanzitutto, creeremo il playbook per includere l'host remoto target e le attività. Quello che segue è il comando utilizzato per la creazione del playbook in Ansible:
[root@master ansible]# nano config_lookup.YML
Dopo aver scritto il comando sopra e aver premuto ENTER, l'editor di Playbook verrà aperto in un nuovo terminale chiamato "Config_Lookup. L'identificazione dell'istanza o del modulo che intendiamo utilizzare inizialmente sarà scritta. Abbiamo usato il parametro "Gather_Facts" di Ansible in modo da ottenere tutte le informazioni relative al LocalHost visualizzata nell'output, ma non vogliamo ottenere le informazioni extra dell'host locale target in modo da aver superato il "falso "Valore per il" Gather_Facts "nel playbook. Ora menzioneremo gli ospiti del playbook, quindi abbiamo fornito il "localhost".
Successivamente, vogliamo elencare i compiti che vogliamo svolgere. Quindi, abbiamo scritto il parametro "compiti" e quindi elencare i compiti uno per uno. In questo elenco, in primo luogo, dobbiamo utilizzare il parametro "Nome" per visualizzare il nome delle attività. E poi abbiamo utilizzato il parametro "debug" e fornire il parametro "MSG" in esso in modo che il messaggio che vogliamo visualizzare nel risultato venga visualizzato.
- Nome: Esempi di ricerca di configurazione
Gather_Facts: false
Host: localhost
compiti:
- Nome: Stampa percorsi di ruolo
debug:
MSG: "Questi sono i percorsi del ruolo configurati: lookup ('config', 'default_roles_path')"
In questo esempio, non creeremo il file di inventario per stabilire una connessione perché stiamo usando l'host locale come host remoto target. Per ottenere i risultati eseguendo il playbook creato sopra, scriveremo il comando seguente nel terminale:
[root@master ansible]# ansible-playbook config_lookup.YML
Ecco l'output dopo aver eseguito il comando sopra. Otterremo il percorso configurato di LocalHost insieme al messaggio che abbiamo scritto nel playbook nel carattere verde con il segnale "OK".
Esempio 02: visualizzare i colori configurati predefiniti in Ansible
Ecco il secondo esempio che stiamo per implementare utilizzando il modulo integrato di Ansible, che è il modulo di ricerca. In questo scenario, otterremo i colori configurati dell'articolo.
Non creeremo un altro playbook per questo esempio. Facciamo solo le modifiche necessarie nel playbook "config_lookup". Innanzitutto, apriremo il playbook scrivendo il comando qui sotto:
[root@master ansible]# nano config_lookup.YML
Nelle attività di Playbook, modificheremo il nome dell'attività e quindi passeremo l'elemento per ottenere il colore predefinito. Abbiamo usato il parametro "Loop" per ottenere i colori predefiniti in un elenco.
- Nome: Esempi di ricerca di configurazione
Gather_Facts: false
Host: localhost
compiti:
- Nome: vedere i colori predefiniti
Debug: msg = "item"
Loop: "lookup ('config', 'color_ok', 'color_changed', 'color_skip', wantlist = true)"
Ora, termina il playbook salvando la modifica ed esegui il playbook attraverso il comando qui sotto:
[root@master ansible]# ansible-playbook config_lookup.YML
Il seguente frammento illustrato ci mostrerà l'output desiderato eseguendo l'istruzione scritta sopra. Abbiamo i tre colori configurati predefiniti del plug -in di ricerca in Ansible che sono verdi, gialli e ciano.
Esempio 03: Visualizzazione della procedura per crescere i privilegi in Ansible
Implementeremo il terzo esempio del plug-in di ricerca di configurazione integrato in Ansible. Nell'esempio, intensificheremo i privilegi del modulo di ricerca. Innanzitutto, apriremo il playbook.
[root@master ansible]# nano config_lookup.YML
Ora cambieremo il codice e lo configureremo per soddisfare i nostri requisiti. Modificheremo il nome dell'attività e cambieremo la logica del debug.
- Nome: Esempi di ricerca di configurazione
Gather_Facts: false
Host: localhost
compiti:
- Nome: Stampa Metodo di escalation del privilegio predefinito
debug:
msg: "default_become_method: lookup ('config', 'default_become_method')"
Ancora una volta, useremo lo stesso comando per eseguire e mostrare i risultati dell'esempio.
[root@master ansible]# ansible-playbook config_lookup.YML
Come mostrato nell'output di seguito, otterremo il privilegio di "sudo" di colore verde.
Conclusione
Abbiamo imparato uno dei moduli integrati di Ansible che è la configurazione del plug-in di ricerca. Abbiamo discusso del funzionamento del plug -in e implementato diversi esempi in modo da poter comprendere facilmente il funzionamento e i diversi moduli del plugin di ricerca in Ansible.