controle de terminal de massa

1

Tenho contêineres de 1000x Ubuntu 16 sendo executados no docker para testes de resistência em um software que estamos testando.

Posso usar ssh em cada uma dessas caixas, uma por vez ... mas estou procurando uma maneira de automatizar o comando e o controle dessa botnet interna. Existe uma ferramenta para o espelhamento de linha de comando? Tipo digite o comando sudo shutdown -r now ou sudo service myService restart e obtenha uma resposta de todos os terminais 1000x ... mesmo que seja apenas um código de retorno para o comando?

até agora eu olhei em:

  • esperar scripts
  • fantoche / chef
  • escrevendo o meu próprio com base em wetty
por CaffeineAddiction 02.02.2017 / 18:28

1 resposta

1

pssh

O PSSH fornece versões paralelas do OpenSSH e ferramentas relacionadas. Incluem-se pssh, pscp, prsync, pnuke e pslurp. O projeto inclui psshlib, que pode ser usado em aplicativos personalizados. O código fonte é escrito em Python e pode ser clonado de:

clone git link

O PSSH é suportado no Python 2.4 e superior (incluindo o Python 3.1 e superior). Foi originalmente escrito e mantido por Brent N. Chun. Devido à sua agenda ocupada, Brent entregou a manutenção a Andrew McNabb em outubro de 2009.

Usage: pssh [OPTIONS] command [...]

Options:
  --version             show program's version number and exit
  --help                show this help message and exit
  -h HOST_FILE, --hosts=HOST_FILE
                        hosts file (each line "[user@]host[:port]")
  -H HOST_STRING, --host=HOST_STRING
                        additional host entries ("[user@]host[:port]")
  -l USER, --user=USER  username (OPTIONAL)
  -p PAR, --par=PAR     max number of parallel threads (OPTIONAL)
  -o OUTDIR, --outdir=OUTDIR
                        output directory for stdout files (OPTIONAL)
  -e ERRDIR, --errdir=ERRDIR
                        output directory for stderr files (OPTIONAL)
  -t TIMEOUT, --timeout=TIMEOUT
                        timeout (secs) (0 = no timeout) per host (OPTIONAL)
  -O OPTION, --option=OPTION
                        SSH option (OPTIONAL)
  -v, --verbose         turn on warning and diagnostic messages (OPTIONAL)
  -A, --askpass         Ask for a password (OPTIONAL)
  -x ARGS, --extra-args=ARGS
                        Extra command-line arguments, with processing for
                        spaces, quotes, and backslashes
  -X ARG, --extra-arg=ARG
                        Extra command-line argument
  -i, --inline          inline aggregated output and error for each server
  --inline-stdout       inline standard output for each server
  -I, --send-input      read from standard input and send as input to ssh
  -P, --print           print output as we get it

link

uso de exemplo:

 pssh -i -h hosts.txt echo "hello, world"
    
por CaffeineAddiction 02.02.2017 / 22:26