SaltStack - Gerenciamento de Trabalho

O sal tem a capacidade de comunicação de alta velocidade com um grande número de sistemas. Essa abordagem ajuda o Salt a criar um sistema multitarefa poderoso. O Salt pode executar trabalhos em mais de um sistema, então o Salt usa a técnica de gerenciamento de trabalho para gerenciar cada trabalho executado em todos os sistemas. Este capítulo explica detalhadamente o gerenciamento de tarefas.

O que é um ID de trabalho?

Salt tem diretório de cache, cachedir. Dentro dele, um diretório que os minions mantêm é chamado deprocdiretório. Ele está localizado no seguinte diretório / var / cache / salt / proc.

O diretório proc é usado para manter todos os arquivos. Quando esses arquivos são executados, eles são atribuídos a um ID de trabalho exclusivo. Este ID de trabalho ajuda a identificar os trabalhos em execução no minion e permite que os trabalhos sejam pesquisados.

Módulo SALTUTIL

O Salt apresenta um novo módulo denominado processo de gerenciamento de tarefas Saltutil. Este módulo contém diferentes funções para gerenciar trabalhos. Essas funções são usadas para gerenciar trabalhos no nível de servo. As funções são descritas resumidamente a seguir -

  • running - Retorna todos os dados de trabalhos em execução encontrados no diretório proc.

  • find_job - Retorna dados específicos sobre um determinado trabalho com base no ID do trabalho.

  • signal_job - Permite que um determinado ID de trabalho (jid) seja enviado um sinal.

  • term_job - Envia um sinal de encerramento para o trabalho especificado.

  • kill_job - Envia um sinal de eliminação para o trabalho especificado.

Corredor de empregos

O executor de tarefas contém funções para tornar a visualização de dados mais fácil e limpa. Tem diferentes funções. Vamos discutir cada uma dessas funções em detalhes.

Função ATIVA

A função Active é usada para identificar quais trabalhos ainda estão em execução e verificar quais sistemas concluíram um trabalho e quais sistemas ainda estão sendo aguardados. Ele é executado usando o seguinte comando,

salt-run jobs.active

Função LOOKUP_JID

O executor lookup_jid exibirá os dados para o trabalho que está procurando no momento. Esses trabalhos são configurados por meio dokeep_jobsopção na configuração mestre. Ele é executado usando o seguinte comando.

salt-run jobs.lookup_jid <job id number>

Função LIST_JOBS

A função List_jobs é usada para listar os dados de trabalho para trabalhos. É expresso pelo seguinte comando -

salt-run jobs.list_jobs

Agendamento de Trabalho

O sistema de programação expõe a execução de qualquer função de execução em lacaios ou qualquer runner no mestre.

É realizado pelos seguintes métodos -

  • Schedule - A opção de programação no mestre ou no lacaio config arquivos.

  • Minion pillar data - Ele atualiza os dados do pilar do minion usando o comando saltutil.refresh_pillar.

  • O estado da programação ou módulo de programação.

Os estados de sal são executados no lacaio. Você pode passar os argumentos posicionais e fornecer umYAML dict dos argumentos nomeados no config file como mostrado abaixo.

schedule:
   job1:
      function: saltstate.sls
      seconds: 3600
      args:
         - httpd
      kwargs:
         test: True

Aqui, job1 irá executar a função saltstate.sls com os argumentos especificados, httpdpara cada hora. otest: True é o argumento adicional para o httpd comando que é definido em saltstate.sls.