Neste post no blog da Instruct foi apresentado uma descrição sobre os objetivos do Puppet Bolt, um novo produto da empresa Puppet que vem para ajudar o trabalho do administrador de sistemas e de rede.
O Puppet Bolt serve para executar comandos, tarefas, scripts em vários hosts simultaneamente. E o melhor: não precisa instalar nada nos hosts da rede. Ele acessa os hosts via SSH.
O Puppet Bolt tem o código fonte aberto (https://github.com/puppetlabs/bolt) e é gratuito.
Neste post vou mostrar como instalar e usar essa ferramenta.
Instalando o Puppet Bolt no GNU/Linux
Essa ferramenta pode ser instalada no GNU/Linux, Windows e MacOS. As instruções de instalação são as seguintes:
1) Instale o Puppet Bolt de acordo com o sistema operacional e as instruções disponíveis na página https://puppet.com/docs/bolt/latest/bolt_installing.html.
2) Crie um arquivo contendo a lista de hosts a serem gerenciados pelo Puppet Bolt no seguinte padrão: HOST,PORT_SSH. Exemplo:
host1.domain.com.br:22 host2.domain.com.br:2220 host3.domain.com.br:2222 host1.domain2.com.br:22 host2.domain2.com.br:2220 host3.domain2.com.br:2222
3) Execute o Puppet Bolt para obter a ajuda e opções de subcomandos.
bolt --help
4) Exemplos de linhas de comando do Puppet Bolt:
a) Executando um comando em apenas um host via SSH. Dessa forma a senha de acesso ao SSH do host remoto será solicitada no prompt de comando.
bolt command run "ls /home/" --node ssh://host1.domain.com.br:22 -u myuser --no-host-key-check -p
bolt command run "puppet agent -t -d --noop" --node ssh://host1.domain.com.br:22 -u myuser --no-host-key-check -p mypass
c) Executando um comando em uma lista de hosts cadastrados num arquivo (veja o padrão no passo 2). Dessa forma a senha de acesso ao SSH dos hosts remotos deve ser a mesma para todos e será solicitada no prompt de comando.
bolt command run "ls /home/" --node @/home/aecio/hosts_remotos.txt -u myuser --no-host-key-check
d) Executando um comando em uma lista de hosts cadastrados num arquivo (veja o padrão no passo 2). Dessa forma a senha de acesso ao SSH dos hosts remotos deve ser a mesma.
bolt command run "ls /home/" --node @/home/aecio/hosts_remotos.txt -u myuser --no-host-key-check -p mypass
e) Executando um comando em uma lista de hosts cadastrados num arquivo (veja o padrão no passo 2). Está sendo solicitado a visualização de mais detalhes nas mensagens de log e habilitando o modo verbose na executação de cada comando nos hosts. Se a senha possuir caracteres especiais que precisem ser escapados, a mesma deve estar entre aspas simples.
bolt command run “sudo /opt/puppetlabs/bin/puppet agent -t -d” –node @/home/aecio/hosts_remotos.txt -u myuser –no-host-key-check -p ‘|mypass@‘ –verbose –debug
f) Para obter mais opções de uso do Puppet Bolt execute o comando.
bolt --help
Para aprender mais sobre o Puppet, veja o livro que publiquei pela editora Novatec: https://novatec.com.br/livros/puppet/
Fonte: