Introduzione ai comandi sensibili
In questo argomento, impareremo i comandi Ansible. Poiché Ansible è un motore che automatizza la distribuzione dell'applicazione, il cloud provisioning, ecc. Utilizza il playbook per l'archiviazione del processo di automazione del lavoro e il playbook è progettato in aggiunta a linguaggi di formato leggibili e facili da usare come YAML, ecc. distribuzione. Si connette con i nodi tramite un host shell protetto che afferma che questa configurazione è costituita da demoni.
Comandi Ansible di base
- Verifica la connettività dell'host: # ansible -m -ping
- Riavvio dei sistemi host: #ansible -a “/ sbin / reboot”
- Creazione di un nuovo utente: # ansible -m user -a “name = ansible password =”
- Eliminazione utente: # ansible -m utente -a "nome = ansible state = assente"
- Modifica delle autorizzazioni: # ansible -m file -a “dest = / home / ansible / file1.txt mode = 777”
- Verifica l'installazione del pacchetto con l'aggiornamento: # ansible -m yum -a “name = httpd state = latest”
- Verifica l'installazione del pacchetto senza un aggiornamento: # ansible -m yum -a “name = httpd state = present”
- Verifica la versione del pacchetto: # ansible -m yum -a “name = httpd-1.8 state = present”
- Verifica installazione pacchetto: # ansible -m yum -a “name = httpd state = assent”
- Visualizza informazioni sull'host: # ansible -m setup | Di meno
Comandi di risposta intermedi
- Trasferimento file su più server: # Ansible abc -m copy -a “src = /etc/yum.conf dest = /tmp/yum.conf”
- Riavvio di più server di un gruppo: # Ansible abc -a “/ sbin / reboot” -f 12
- Tutte le informazioni ad hoc sui fatti disponibili possono essere raccolte usando il comando seguente: # Ansible all -m setup
- Aiuto opzione sui ruoli disponibili: # ansible-galaxy -h
- Imposta un timeout in ansible: # ansible all -a “/ usr / bin / scrptat” -B 2600 -P 0
- Genera solo fatti rispondibili per un host: #ansible -m setup -a 'filter = ansible_eth *'
- Verifica l'installazione del pacchetto con l'aggiornamento: # ansible -m yum -a “name = httpd state = latest”
- Salvataggio di tutti i fatti in una directory temporanea: # ansible all -m setup –tree / tmp / fact
- Sinossi per eseguire ansible playbook: # ansible-playbook (opzioni) playbook.yml (playbook2 …)
- Ad esempio: # ansible-playbook –controllare playbook_a.tml
- Sinossi per eseguire ansible pull: # ansible-pull -U (opzioni) ()
Comandi avanzati rispondibili
Esecuzione dei comandi sull'host remoto utilizzando i modelli psexec:
psexec:
hostname : 197.163.12.2
connection_username : username
connection_password : password
executable : powershell.exe
arguments : '-'
stdin : |
Write-Host Hi
Write-Error Error Message
exit
Esegui il processo in modo asincrono usando psexec:
psexec:
hostname : server
connection_username : username
connection_password : password
executable : cmd.exe
arguments : /c rmdir C:\temp
asynchronous : yes
Corrispondenza stringa password sensibile al maiuscolo / minuscolo:
name : Case insensitive password string match
expect :
command : passwd username
responses :
(?i)password : "MySekretPa$$word"
# you don't want to show passwords in your logs
no_log : true
Suggerimenti e trucchi per utilizzare i comandi sensibili
- Lo stesso ruolo deve essere applicato per più operazioni per un funzionamento efficiente.
- Le attività rispondenti devono sempre essere nominate.
- Le attività YAML devono essere ampiamente utilizzate.
- Anche le variabili devono essere documentate.
- Usa assert per salvare in anticipo in caso di errore.
- Scrivi messaggi di errore significativi.
- Ansible consente di dichiarare i playbook senza il loro nome
Per esempio:
host: locale
compiti:
- utente:
nome: Test1
stato: passato
gruppi: gruppo1
- Gli assert in ansible possono essere usati per validare ogni singolo parametro.
Per esempio:
nome: "Convalida è un numero, > 0"
asserire:
quello:
- "((versione | int))> 0 "
msg: "'versione' dovrebbe essere un numero e> 0, è \" ((versione)) \ ""
- I modelli vengono principalmente utilizzati per creare o modificare file con parametri piccoli nella destinazione. I tag devono essere usati con moderazione. Quando viene scritto un ruolo, i tag possono essere utilizzati per filtrare le attività in fase di esecuzione. Questo aiuta a implicare distribuzioni di runtime. Di seguito sono riportati due problemi chiave in questo tipo di risposta,
- Lo stesso tag può essere utilizzato più e più volte in tutti i ruoli e scontrarsi tra loro, impedendo di utilizzare esattamente il tag che si desidera utilizzare questa dispersione di tag rende difficile capire esattamente cosa fanno.
- Determinare l'output esatto è un compito complesso
Conclusione -
I comandi Ansible ti consentono di eseguire il provisioning del software e le attività di gestione della configurazione in un metodo molto strutturato e ottimizzato. Tiene anche una mano forte nel supporto della piattaforma e nei metodi di integrazione nel cloud.
Articoli consigliati
Questa è stata una guida ai comandi Ansible. Qui abbiamo discusso Comandi Ansible di base così come avanzati e alcuni Comandi Ansible immediati. Puoi anche leggere il seguente articolo per saperne di più -
- Usi dei comandi del tableau
- Come usare i comandi Sqoop
- Usi dei comandi MongoDB
- Comandi HBase
- Architettura di Ansible
- Test ad hoc