Esta é uma área bastante densa de ferramentas disponíveis para esse tipo de tarefa. Como você mencionou, você pode essencialmente rolar seus próprios scripts de shell simples até uma ferramenta de gerenciamento de configuração, como o cfengine ou o fantoche.
Eu ficaria inclinado a começar de maneira simples e rolar meus próprios scripts de shell e depois passar para um dos sistemas dedicados para fazer isso.
Ao fazer isso, você terá uma boa noção das suas necessidades antes de tentar morder uma configuração como o Puppet, por exemplo.
Há uma boa lista desses tipos de ferramentas na Wikipedia: Comparação de software de gerenciamento de configurações de código aberto .
Estas são as ferramentas que usei no passado, que funcionam bem e têm vários graus de dificuldade para configurá-las e executá-las.
Do acima mencionado eu usei a maioria deles e posso dizer que provavelmente Capistrano e / ou Chef seria bom para começar. Mas como eu disse, eu provavelmente faria a abordagem dos scripts de shell primeiro, e então começaria a pensar em uma dessas soluções a longo prazo.
opções mais leves
Se as opções acima ainda forem muito pesadas, também existem ferramentas, como myrpm . É essencialmente um frontend para rsync
e ssh
, mas permite que você opere em um grupo de servidores que você configura em um arquivo de texto. myrpm
fornece comandos como:
- putKey
- deployKeys
- mass-rsync
- mass-ssh-remote-exec
- mass-ssh-remote-cmd
Eles permitem que você envie chaves ssh
para os vários hosts, envie arquivos para eles, inicie comandos remotos nos servidores e inicie comandos únicos, como yum -y update
.
Referências