Ir para o conteúdo
TURNKEYGNU / LINUX
AplicativosDocumentaçãoBlogCapturas de telaGitHubTurnKey Hub
文Português
EnglishEspañol中文日本語PortuguêsDeutsch
Principal/Cenário de utilização do exemplo

Documentação

Cenário de utilização do exemplo

O Alon quer atualizar todos os TurnKey Linux appliances com as últimas atualizações de segurança.

Ele escreve um script que aceita o nome de um appliance como argumento, baixa a versão mais recente do Sourceforge, extrai o sistema de arquivos raiz, instala a segurança atualiza, reembala o sistema de arquivos raiz em um appliance ISO e envia uma nova versão do appliance de volta para Sourceforge.

Depois de testar o script em sua estação de trabalho local do Ubuntu, ele pede ao Hub para lançar uma nova instância TurnKey Core (88.1.2.3), transfere seu script e instala qualquer dependência Uma vez que tudo é testado para funcionar, ele cria um novo backup TKLBAM com captura o estado de seu servidor de trabalho mestre.

O Alon executa o seu primeiro teste de tarefa na nuvem:

echo core | cloudtask --workers=88.1.2.3 refresh-iso-security-updates

Uma vez que ele confirma que este único teste funcionou corretamente, ele está pronto para o grande trabalho em lote que irá funcionar em 10 servidores em paralelo.

Como esta é uma tarefa de rotina, o Alon espera repetir regularmente, ele cria um modelo de tarefa de nuvem pré-configurado para ele em $HOME/cloudtasks:

$ mkdir $HOME/cloudtasks
$ cd $HOME/cloudtasks

$ cat > refresh-iso << 'EOF'
from cloudtask import Task

class RefreshISO(Task):
    DESCRIPTION = "This task refreshes security updates on an ISO"
    BACKUP_ID = 123
    COMMAND = 'refresh-iso-security-updates'
    SPLIT = 10
    REPORT = 'mail: cloudtask@example.com alon@example.com liraz@example.com'

    HUB_APIKEY = 'BRDUKK3WDXY3CFQ'

RefreshISO.main()

EOF

$ chmod +x ./refresh-iso

$ cat $PATH_LIST_APPLIANCES | ./refresh-iso
About to launch 10 cloud servers to execute the following task:

  Parameter       Value
  ---------       -----

  jobs            40 (appengine .. zimbra)
  command         refresh-iso-security-updates
  hub-apikey      5YGVPEMHJHU5EA
  ec2-region      us-east-1
  ec2-size        m1.small
  ec2-type        s3
  user            root
  backup-id       123
  workers         -
  overlay         -
  post            -
  pre             -
  timeout         -
  report          mail: cloudtask@turnkeylinux.org liraz@turnkeylinux.org

Is this really what you want? [yes/no] yes

session 11 (pid 29709)
88.178.132.231 (29721): launched new worker
88.214.141.175 (29722): launched new worker
88.15.179.7 (29724): launched new worker
88.229.38.128 (29723): launched new worker

...

45 minutos depois, Alon recebe um e-mail da tarefa na nuvem que o trabalho terminou. No corpo está o registro de sessão detalhando se erros foram detectados em qualquer trabalho (por exemplo, não-zero exitcode), quanto tempo a sessão levou para ser executada, etc.

Se quisesse, Alon poderia ter seguido a execução dos trabalhos em tempo real seguindo os arquivos de registro do trabalhador:

tail -f ~/.cloudtask/11/workers/29721

 

TURNKEYGNU / LINUX

Controle sua infraestrutura sem começar do zero.

Explorar o TurnKey
SobreDocumentaçãoPerguntas frequentesBlogGitHub
Livre e de código abertoSeguro por padrãoPronto para implantar