Estoy buscando la mejor manera de realizar actualizaciones periódicas para mi infraestructura.
Por lo general, esto implica hacer esto en cada host, uno a la vez:
sudo yum update -y && sudo reboot
Pero, estoy llegando a los límites de que sea escalable.
Solo quiero reiniciar un nodo a la vez dentro de cada uno de mis roles, de modo que, por ejemplo, no elimine todos mis equilibradores de carga o miembros del clúster de base de datos, al mismo tiempo.
Idealmente, me gustaría hacer 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
Pero, eso no parece existir. No estoy seguro si usar el agente "shell" es el mejor enfoque, ¿tampoco?
mco shell run 'yum update -y && reboot' \
--batch 1 --batch-sleep 90
Sin embargo, ¿estoy buscando la herramienta incorrecta para este trabajo? ¿Hay algo mejor para administrar este tipo de reinicios continuos, pero que de alguna manera puedo vincularme con mis roles asignados por Puppet, de modo que pueda estar seguro de que no estoy eliminando nada importante de una vez, pero que aún puedo hacer algunas actualizaciones paralelas y reinicios?
fuente
Respuestas:
Configuración
Desplegar
y
en ambos hosts, es decir
test-server1
ytest-server2
.Servicios
Reinicie mcollective en ambos servicios:
y
Comandos
Ejecute los siguientes comandos en el nodo del servidor mcollective:
El anfitrión
test-server2
está escuchando:Reinicia el
test-server2
:El se
test-server2
está reiniciando:y se ha reiniciado:
Tenga en cuenta que también es posible apagar un 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
Mando
fuente