ANSIBLE LECCHI

ANSIBLE LECCHI

In questo articolo, impareremo su uno dei compiti importanti di Ansible che è l'attività "Ritratta" che elencheremo nel playbook per eseguire comandi. Impareremo come funziona l'attività di riproduzione in Ansible.

Retry è un'attività ansile utilizzata per tentare di eseguire ripetutamente eventuali playbook problematici. Il terminale di output Ansible mostrerà gli errori in tale errore. Per questo motivo, a volte è difficile cogliere questi problemi quando proviamo a risolverli usando Ansible. Tuttavia, Ansible fornisce un'opzione "Ritratta" che ci consente di eseguire il comando più di una volta.

Prendi lo scenario quando abbiamo un compito nel nostro playbook fuori da host "tutti", alcuni degli host sono presi di mira a causa di alcune condizioni di attività che la loro esecuzione ha successo al primo tentativo una volta che il playbook è stato eseguito. Tuttavia, a volte gli ospiti rimanenti avranno successo al secondo tentativo di attività. Ora, ci sono vari metodi in cui possiamo provare a risolvere questo problema, ma a volte anche potremmo non avere il tempo o il controllo del sistema per raggiungere questo obiettivo.

Riprovare il compito in questa situazione potrebbe essere il percorso di azione più semplice ed efficace. Il playbook verrà quindi riesecuto in uno stato di fallimento di corsa e, per impostazione predefinita, continuerà a tentare fino a quando non genererà il risultato desiderato o interrompe gli errori di segnalazione. Non possiamo affermare che l'opzione Retry Ansible è un sostituto del ciclo standard che esegue ripetutamente il lavoro fino a quando la condizione non è soddisfatta. Pertanto, non siamo in grado di usare il tentativo di ansile per le attività per le quali non abbiamo modo di prevedere o stimare per quanto tempo vorrebbero prendere. Pertanto, questo non può essere un sostituto del loop standard. Tuttavia, evita il grave problema di un ciclo infinito cronometrando il lavoro dopo un numero predeterminato di tentativi.

Prerequisiti di attività di riproduzione in Ansible

In questa sessione vengono forniti esempi pratici di Ansible. Supponiamo che tu abbia sempre avuto i seguenti prerequisiti se si intende seguire quando si utilizza l'opzione di ritenzione ansible:

  • Prima di poter utilizzare lo strumento Ansible e implementare l'opzione di riproduzione, richiediamo applicazioni relative ad Ansible sul sistema. Questo tutorial fa uso di Ansible 2.12 o una versione successiva.
  • Per questo motivo, abbiamo bisogno di un controller Ansible per eseguire i comandi su host remoti e gli host remoti su cui vorremmo concentrarci per le implementazioni.

Facciamo semplicemente l'idea di riprova in profondità e guardiamo come Ansible la mette in vigore usando un esempio.

Esempio: ritentare i compiti 5 volte nei playbook Ansible

Prima di implementare l'esempio, una comprensione approfondita di una varietà di attività contenute nello strumento di configurazione ANSIBE è un requisito per qualsiasi aspirante Master Ansible o fornitore qualificato, come un controller Ansible per apportare modifiche al dispositivo host remoto. Prendiamo lo scenario in cui proviamo ad implementare l'opzione di riproduzione. Ecco l'esempio in Ansible che stiamo per implementare per eseguire più volte le attività del playbook.

Per iniziare a implementare i comandi, in primo luogo, dovremo creare il playbook utilizzando lo strumento Ansible. Di seguito è riportata l'affermazione che eseguiremo per creare il playbook in Ansible.

[Root@Master Ansible]# Nano tentativi.YML

Dopo aver scritto il comando sopra, i tentativi.Il playbook YML verrà creato e aperto in un nuovo terminal Ansible. Nel playbook, definiamo sempre prima l'implementazione che implementeremo nel parametro "Nome". Successivamente, utilizzeremo il parametro "host" in modo da poter fornire l'indirizzo IP o le informazioni relative all'host remoto attraverso il quale stiamo per connetterci. Utilizzeremo "localhost" come server remoto target in questo esempio.

Usando il componente di "raccolta di fatti" Ansible, raccoglieremo informazioni sull'host locale mirato. Questi dati sono comunemente descritti come "fatti" o "parametri" nel software Ansible. Utilizzando il comando particolare "configurazione" nel software Ansible, possiamo raccogliere le informazioni di LocalHost. Tuttavia, i playbook Ansible generalmente chiamano questo parametro di configurazione per impostazione predefinita per realizzare il parametro di fatti di raccolta. Forniremo il valore "vero" o "falso" per raccogliere i dati dell'host locale. Come mostrato di seguito nel playbook, non vogliamo ottenere le informazioni su LocalHost Target, quindi abbiamo fornito un valore "falso" al parametro Gather_Fact.

Dopo aver dichiarato i parametri che saranno necessari per il playbook per configurare il dispositivo host locale, elencheremo le attività nel playbook che vogliamo implementare sulla macchina host locale. Nell'elenco delle attività, forniremo innanzitutto il nome dell'attività che faremo, ovvero il controllo della validità del file è presente o no nella macchina LocalHost. Stiamo usando il parametro di shell Ansible che esegue i comandi shell sul dispositivo localhost.

In Ansible, il parametro shell ha un percorso predefinito in cui il /bin /sh esegue i comandi, ma in questo esempio, abbiamo dato il "ls -lst /tmp /myprocess.PID ”percorso in cui il controller Ansible ha apportato le modifiche al dispositivo locale. Quindi, per monitorare e salvare l'output in questo parametro Ansible, abbiamo utilizzato il parametro "Registra".

Successivamente, abbiamo usato il parametro "fino" che viene utilizzato per riprovare le attività di playbook 5 volte per 2 secondi. Per definire l'intervallo, abbiamo usato il parametro predefinito di Ansible che è "ritardo" e il numero di volte in cui eseguiranno le attività del playbook è nel parametro "tentativo" di Ansible.

Ora termineremo i tentativi.Playbook YML colpendo Ctrl+X. Ora vogliamo eseguire il playbook. Quindi, useremo il comando qui sotto:

[root@master ansible]# ansible-playbook.YML

Otterremo il risultato di seguito dopo aver eseguito il comando sopra. Come mostrato nell'output, il playbook viene eseguito 5 volte con successo con un tempo di esecuzione di 2 secondi.

Conclusione

Questo articolo ha trattato come funziona il parametro di riproduzione del playbook Ansible. Abbiamo padroneggiato completamente la teoria dei parametri di riproduzione. Quindi, per comprendere meglio il concetto di riproduzione, abbiamo messo in pratica l'esempio.