Sommario
- Ansible è uno strumento DevOps che è un potente sostituto di PowerShell
- RunDeck come interfaccia grafica è utile
- Alcune persone eseguono RunDeck + Ansible insieme
clusterssh
Per l'invio di comandi remoti a più server, per un principiante, consiglierei i cluster
Per installare clusterssh
in Debian:
apt-get install clusterssh
Un altro tutorial sui cluster :
ClusterSSH è un wrapper Tk / Perl attorno a strumenti Linux standard come XTerm e SSH. Come tale, funzionerà praticamente su qualsiasi sistema operativo compatibile POSIX in cui esistono le librerie: l'ho eseguito su Linux, Solaris e Mac OS X. Richiede le librerie Perl Tk (perl-tk su Debian o Ubuntu) e X11 :: Protocol (libx11-protocol-perl su Debian o Ubuntu), oltre a xterm e OpenSSH.
ansible
Per quanto riguarda un framework remoto per l'amministrazione di più sistemi, Ansible è un'alternativa molto interessante a Puppet. È più snello e non ha bisogno di agenti remoti dedicati poiché funziona su SSH (è stato anche acquistato da RedHat)
I Playbook sono più elaborati rispetto alle opzioni della riga di comando.
Tuttavia, per iniziare a utilizzare Ansible è necessaria una semplice installazione e per impostare il file di testo dell'elenco dei client.
Successivamente, per eseguire un comando in tutti i server, è semplice come fare:
ansible all -m command -a "uptime"
L'output è anche ben formattato e separato per regola / server e durante l'esecuzione in background può essere reindirizzato a un file e consultato in seguito.
Puoi iniziare con semplici regole e l'utilizzo di Ansible diventerà più interessante man mano che cresci in Linux e la tua infrastruttura diventa più grande. Come tale, farà molto di più di PowerShell.
Ad esempio, un Playbook molto semplice per aggiornare i server Linux che ho scritto:
---
- hosts: all
become: yes
gather_facts: False
tasks:
- name: updates a server
apt: update_cache=yes
- name: upgrade a server
apt: upgrade=full
Ha anche molti moduli definiti che consentono di scrivere facilmente politiche complete.
Modulo Index - Documentazione Ansible
Ha anche un interessante hub / rete "sociale" ufficiale di repository per la ricerca di politiche già realizzate dalla comunità. Galassia sensibile
Ansible è anche ampiamente usato e troverai molti progetti in github, come questo da me stesso per l' installazione di FreeRadius .
Mentre Ansible è un framework open source gratuito, ha anche un'interfaccia web panel a pagamento, Ansible Tower sebbene le licenze siano piuttosto costose.
Oggi, dopo che RedHat l'ha acquistato, tower ha anche la versione open source nota come AWX .
Come bonus, Ansible è anche in grado di amministrare i server Windows, anche se non l'ho mai usato per questo.
È anche in grado di amministrare apparecchiature di rete (router, switch e firewall), il che la rende una soluzione molto interessante come soluzione chiavi in mano per l'automazione.
Come installare Ansible
Rundeck
Ancora una volta, per un framework remoto più facile da usare, ma non così potente come Ansible, consiglio Rundeck .
Si tratta di un'interfaccia grafica multiutente / login molto potente in cui è possibile automatizzare gran parte delle attività quotidiane comuni e persino fornire viste annacquate a utenti di sysops o helpdesk.
Quando si eseguono i comandi, ti dà anche Windows con l'output suddiviso per server / attività.
Può eseguire più processi in background senza soluzione di continuità e consente di visualizzare il report e l'output in un secondo momento.
Come installare RunDeck
Nota che ci sono persone che eseguono Ansible + RunDeck come interfaccia web; non tutti i casi sono appropriati per questo.
Va da sé che l'utilizzo di Ansible e / o RunDeck può essere interpretato come una forma o parte della documentazione dell'infrastruttura e, nel tempo, consente di replicare e migliorare le azioni / ricette / Playbook.
Infine, parlando di un server di comando centrale, ne creerei uno per l'attività. In realtà il termine tecnico è un jump box. I "Jump Box" migliorano la sicurezza, se impostati correttamente .