Resumo
- Ansible é uma ferramenta de DevOps que é uma poderosa substituta do PowerShell
- RunDeck como uma interface gráfica é útil
- Algumas pessoas executam o RunDeck + Ansible juntos
clusterssh
Para enviar comandos remotos para vários servidores, para um iniciante, eu recomendaria clusterssh
Para instalar o clusterssh
no Debian:
apt-get install clusterssh
Outro tutorial de clusterssh :
ClusterSSH is a Tk/Perl wrapper around standard Linux tools like XTerm and SSH. As such, it'll run on just about any POSIX-compliant OS where the libraries exist — I've run it on Linux, Solaris, and Mac OS X. It requires the Perl libraries Tk (perl-tk on Debian or Ubuntu) and X11::Protocol (libx11-protocol-perl on Debian or Ubuntu), in addition to xterm and OpenSSH.
Ansible
Quanto a um framework remoto para administração de múltiplos sistemas, o Ansible é uma alternativa muito interessante para o Puppet. Ele é mais enxuto e não precisa de agentes remotos dedicados, pois funciona com o SSH (ele também foi comprado pela RedHat)
Os Playbooks são mais elaborados que as opções de linha de comando.
No entanto, para começar a usar o Ansible, você precisa de uma instalação simples e de configurar o arquivo de texto da lista de clientes.
Depois, para executar um comando em todos os servidores, é tão simples quanto:
ansible all -m command -a "uptime"
A saída também é muito bem formatada e separada por regra / servidor, e enquanto executá-lo em segundo plano pode ser redirecionada para um arquivo e consultada posteriormente.
Você pode começar com regras simples, e o uso de Ansible ficará mais interessante conforme você cresce no Linux, e sua infra-estrutura se torna maior. Como tal, fará muito mais do que o PowerShell.
Como exemplo, um Playbook muito simples para atualizar os servidores Linux que eu escrevi:
---
- hosts: all
become: yes
gather_facts: False
tasks:
- name: updates a server
apt: update_cache=yes
- name: upgrade a server
apt: upgrade=full
Ele também tem muitos módulos definidos que permitem escrever facilmente políticas abrangentes.
Índice do módulo - Documentação do Ansible
Ele também tem um interessante hub oficial / rede social de repositórios para procurar políticas ansiosas já feitas pela comunidade. Galáxia Ansible
O Ansible também é amplamente usado, e você encontrará muitos projetos no github, como este de mim para Configuração do FreeRadius .
Embora o Ansible seja uma estrutura gratuita de código aberto, ele também tem uma interface de painel web paga, Ansible Tower , embora o licenciamento seja bastante caro.
Hoje, depois que a RedHat comprou, a torre também tem a versão de código aberto conhecida como AWX .
Como bônus, o Ansible também é capaz de administrar servidores Windows, embora eu nunca tenha usado isso para isso.
Também é capaz de administrar equipamentos de rede (roteadores, switches e firewall), o que torna uma solução muito interessante como uma solução de chave na mão de automação.
Rundeck
Mais uma vez, para uma estrutura remota mais fácil de usar, mas não tão potente quanto a Ansible, eu recomendo Rundeck .
É uma interface gráfica multi-usuário / login muito poderosa, na qual você pode automatizar grande parte das suas tarefas comuns do dia-a-dia, e até mesmo dar visualizações mais enxutas aos usuários do sistema operacional ou do helpdesk.
Ao executar os comandos, ele também fornece janelas com a saída dividida por servidor / tarefa.
Ele pode executar várias tarefas em segundo plano sem problemas e permite que você veja o relatório e a saída posteriormente.
Por favor, note que há pessoas rodando Ansible + RunDeck como uma interface web; nem todos os casos são apropriados para isso.
Também é preciso dizer que usar Ansible e / ou RunDeck pode ser interpretado como uma forma ou parte da documentação de infra-estrutura, e com o tempo permite replicar e melhorar as ações / receitas / Playbooks.
Por último, falando sobre um servidor de comando central, eu criaria um apenas para a tarefa. Na verdade, o termo técnico é uma caixa de salto. 'Jump boxes 'melhore a segurança, se você configurá-los corretamente .