Estou procurando a melhor maneira de realizar atualizações contínuas regulares para minha infraestrutura.
Normalmente, isso envolve fazer isso em cada host, um de cada vez:
sudo yum update -y && sudo reboot
Mas estou atingindo limites de ser escalável.
Desejo reiniciar apenas um nó de cada vez em cada uma das minhas funções, para que, digamos, não abandone todos os meus balanceadores de carga ou membros de cluster do DB ao mesmo tempo.
Idealmente, eu gostaria de fazer algo como:
for role in $(< roles_list.txt) ; do
mco package update_all_and_reboot \
--batch 1 --batch-sleep 90 \
-C $role -F environment=test
done
Mas, isso não parece existir. Não tenho certeza se o uso do agente "shell" é a melhor abordagem, também?
mco shell run 'yum update -y && reboot' \
--batch 1 --batch-sleep 90
Estou apenas olhando para o tipo errado de ferramenta para este trabalho? Existe algo melhor para gerenciar esse tipo de reinicializações contínuas, mas que, de alguma forma, posso vincular-me às minhas funções atribuídas ao Puppet, para que eu possa me sentir confortável por não retirar nada importante de uma só vez, mas que ainda possa fazer algumas atualizações paralelas e reinicializações?
fonte
Respostas:
Configuração
Implantar
e
nos dois hosts, ie
test-server1
etest-server2
.Serviços
Reinicie o mcollective nos dois serviços:
e
Comandos
Execute os seguintes comandos no nó do servidor mcollective:
O host
test-server2
está ouvindo:Reinicie o
test-server2
:O
test-server2
está reiniciando:e foi reiniciado:
Observe que também é possível desligar um host:
Código original
/usr/libexec/mcollective/mcollective/agent/power.rb
/usr/libexec/mcollective/mcollective/agent/power.ddl
/usr/share/ruby/vendor_ruby/mcollective/application/power.rb
Código modificado
/usr/libexec/mcollective/mcollective/agent/power.ddl
/usr/libexec/mcollective/mcollective/agent/power.rb
Comando
fonte