GNU/Linux >> Linux Esercitazione >  >> Linux

Linux equivalente al servizio remoto uno-a-molti di PowerShell

Riepilogo

  • Ansible è uno strumento DevOps che è un potente sostituto di PowerShell
  • RunDeck come interfaccia grafica è comodo
  • Alcune persone eseguono insieme RunDeck+Ansible

clustersh

Per inviare comandi remoti a più server, per un principiante, consiglierei clusterssh

Per installare clusterssh in Debian:

apt-get install clusterssh

Un altro tutorial su clusterssh:

ClusterSSH è un wrapper Tk/Perl attorno a strumenti Linux standard come XTerm e SSH. Pertanto, funzionerà praticamente su qualsiasi sistema operativo conforme a 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 necessita di agenti remoti dedicati in quanto funziona su SSH (è stato acquistato anche da RedHat)

I playbook sono più elaborati delle opzioni della riga di comando.

Tuttavia, per iniziare a utilizzare Ansible è necessaria una semplice installazione e per configurare il file di testo dell'elenco dei client.

Successivamente, per eseguire un comando in tutti i server, è semplice come eseguire:

ansible all -m command -a "uptime"

L'output è anche molto ben formattato e separato per regola/server, e durante l'esecuzione in background può essere reindirizzato a un file e consultato successivamente.

Puoi iniziare con regole semplici e l'utilizzo di Ansible diventerà più interessante man mano che cresci in Linux e la tua infrastruttura diventa più grande. In quanto tale, farà molto di più di PowerShell.

Ad esempio, un semplice Playbook 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 ti permettono di scrivere facilmente policy complete.

Indice del modulo - Documentazione Ansible

Dispone inoltre di un interessante hub ufficiale/rete "social" di repository per la ricerca di policy ansible già realizzate dalla community. Ansible Galassia

Anche Ansible è ampiamente utilizzato e troverai molti progetti in github, come questo da me per l'installazione di FreeRadius.

Sebbene Ansible sia un framework open source gratuito, ha anche un'interfaccia del pannello Web a pagamento, Ansible Tower, sebbene la licenza sia piuttosto costosa.

Oggi, dopo che RedHat l'ha acquistata, 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 le apparecchiature di rete (router, switch e firewall), il che lo rende una soluzione molto interessante come soluzione di automazione chiavi in ​​mano.

Come installare Ansible

Rundeck

Ancora una volta, per un framework remoto più facile da usare, ma non così potente come Ansible, consiglio Rundeck.

È un'interfaccia grafica multiutente/di accesso molto potente in cui è possibile automatizzare gran parte delle attività quotidiane comuni e persino fornire visualizzazioni annacquate a sysop o persone dell'helpdesk.

Quando si eseguono i comandi, fornisce anche finestre con l'output suddiviso per server/attività.

Può eseguire più lavori in background senza problemi e ti consente di vedere il rapporto e l'output in un secondo momento.

Come installare RunDeck

Si prega di notare che ci sono persone che eseguono Ansible+RunDeck come interfaccia web; non tutti i casi sono appropriati per questo.

Va anche 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 adatto all'attività. In realtà il termine tecnico è un jump box. Le "jump box" migliorano la sicurezza, se le imposti correttamente.


Se vuoi farlo in modo interattivo, puoi usare terminator che consente di trasmettere un comando a più terminali.

Vedi:Come posso eseguire lo stesso comando linux in più di una scheda/shell contemporaneamente?


Puoi anche usare pssh (o parallel-ssh ), che è un client SSH che si connette a un elenco di host ed esegue il comando su tutti gli host in parallelo:

$ parallel-ssh -i -H "host1 host2" uname -a
[1] 11:37:12 [SUCCESS] host2
Linux host2 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[2] 11:37:12 [SUCCESS] host1
Linux host1 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Linux
  1. Come installare e testare Ansible su Linux

  2. Le 25 principali domande sull'intervista su Linux

  3. Demistificare Ansible per gli amministratori di sistema Linux

  4. Linux equivalente a robocopy?

  5. Windows PowerShell equivalente a Unix/Linux `pwd`?

Usa l'equivalente di Task Manager in Linux

Microsoft Open Sources PowerShell, lo porta su Linux!

Come eseguire xCloud su Linux (anche su SteamOS)?

Ssh - Linux equivalente al telecomando "uno-a-molti" di Powershell?

Le migliori distribuzioni Linux nel 2022

Come installare Ansible su Linux Mint 20