Como administrador de sistema, você pode criar trabalhos no SaltStack Config para executar tarefas de execução remota, aplicar estados, iniciar executores Salt e muito mais. Os trabalhos são geralmente destinados a operações do sistema que precisam ser automatizadas e executadas várias vezes.

Antes de começar

Os trabalhos no SaltStack Config geralmente incorporam um dos módulos de execução ou módulos de estado que foram desenvolvidos pela comunidade de código aberto do Salt. Por esse motivo, primeiro você precisará se familiarizar com alguns dos conceitos básicos sobre o sistema Salt e como realizar tarefas administrativas comuns usando os módulos de execução e estado disponíveis.

Para saber mais sobre... Consulte…

Noções básicas de trabalho com o Salt

Estados Salt

Módulos de execução e estado Salt

Criando trabalhos

Para criar um novo trabalho:

  1. Pesquise quais módulos de execução ou estado Salt ajudariam a obter o resultado desejado. Quando você encontrar o módulo Salt que atende às suas necessidades, leia a documentação do módulo para garantir que você esteja familiarizado com os parâmetros do módulo e outros requisitos.
  2. Se o seu trabalho usar módulos de estado Salt, crie um novo arquivo de estado no Servidor de Arquivos do SaltStack Config. Consulte Como criar arquivos de estado e dados de pilares? para obter mais informações.
  3. Crie um novo trabalho.
    1. Clique em Configurar > Trabalhos no menu lateral para abrir o espaço Trabalhos.
    2. Clique no botão Criar Trabalho.
      Observação:

      Se você não vir o botão Criar Trabalho, não terá permissão para criar novos trabalhos. Entre em contato com o administrador do vRealize Automation para obter acesso ou para criar esse trabalho em seu nome para que você possa concluir o tutorial.

    3. Insira os detalhes do novo trabalho.
      Campo Valor

      Nome

      Dê ao trabalho um nome descritivo que indique resumidamente sua finalidade ou a tarefa que ele deve realizar. Por exemplo, "Definir configurações de firewall do Windows".

      Descrição

      Adicione uma descrição que informe a outros usuários a finalidade desse trabalho, como "Abre o firewall para a porta 445 nos nós do Windows".

      Comando

      • Selecione salt para trabalhos que são executados em subordinados.
      • Selecione salt-run para trabalhos que são executados no mestre Salt. Trabalhos salt-run também são conhecidos como executores Salt. Executores Salt são módulos usados para executar funções de conveniência no mestre Salt. Você pode usar executores Salt para executar orquestração, acionar subordinados remotamente, chamar webhooks e muito mais. Eles são úteis para executar trabalhos centralmente ou de um ponto de partida central. Por exemplo, você pode aplicar um highstate a todos os subordinados associados a um determinado mestre Salt.

      Se não tiver certeza de qual opção selecionar, use salt , pois a maioria dos trabalhos é executada em subordinados.

      Observação: se você optar por alterar o comando, será apresentada uma nova lista de funções para escolher.

      Destinos

      Opcional: um destino é o grupo de subordinados, em um ou vários mestres Salt, ao qual o comando Salt de um trabalho se aplica. Você pode criar destinos para seus trabalhos no espaço de trabalho Destinos. Consulte Como criar destinos? para obter mais informações.

      Se quiser que os destinos sejam selecionados no momento em que executar o trabalho, não selecione nada nesse menu. Deixar esse campo em branco permite que você selecione o destino no momento em que executar o trabalho. No entanto, definir o destino de um trabalho também impede que esse trabalho seja executado em nós nos quais isso não deve acontecer.

      Função

      Selecione qual módulo Salt executar ao acionar este trabalho. Clique nesse campo e comece a digitar o nome do módulo Salt que você deseja selecionar ou selecione-o no menu. Você também poderá digitar seu próprio valor se o módulo que deseja usar não estiver na lista suspensa.

      Se a finalidade desse trabalho for aplicar um arquivo de estado Salt a um subordinado, use o módulo state.apply. Consulte state.apply para obter mais informações.

      Consulte o Índice do módulos Salt para obter uma lista completa dos módulos Salt. Consulte também Exemplos de trabalhos comuns para obter uma tabela que descreve alguns dos módulos mais comumente usados.

      Argumentos

      Você pode usar o campo Argumentos para transmitir args e kwargs ao módulo Salt.

      Cada linha no campo Argumentos representa um argumento. Por exemplo, se você estiver usando o módulo file.copy, poderá transmitirpath/to/src/ e path/to/dst ao módulo.

      Você também pode usar argumentos de palavra-chave. Por exemplo, você pode transmitir src=path/to/src/ e dst=path/to/dst/ ao módulo file.copy.

      Consulte o Índice do módulos Salt para obter uma lista completa dos módulos Salt.

      Ambientes

      Esse campo apenas está disponível quando aplicável à função escolhida, como state.apply, state.highstate e outras.

      Selecione o ambiente Salt desejado no menu ou digite-o se ele não aparecer na lista. Por exemplo, se você estiver aplicando um arquivo de estado a partir do ambiente base, selecione base no menu.

      Estados

      Esse campo apenas está disponível quando aplicável à função escolhida, como state.apply.

      Selecione o arquivo de estado que você deseja aplicar no menu ou digite-o se ele não aparecer na lista.

      Substituição de Pilares

      Esse campo apenas está disponível quando aplicável à função escolhida, como state.apply. Aceita dados de pilares como JSON. Os dados de pilares são salvos na definição de trabalho e passados para a função de módulo no tempo de execução.

      Usar a Substituição de Pilares no SaltStack Config é semelhante a enviar valores de pilares personalizados por meio da CLI. Os valores transmitidos dessa forma substituem os valores de Pilares existentes definidos com o uso de pillar_roots ou uma origem de Pilar externa. Os valores de pilares que não estiverem incluídos em kwarg não serão substituídos.

      Consulte Como criar arquivos de estado e dados de pilares? para obter mais informações sobre dados de pilares.

      Captura de tela de um trabalho com todos os campos preenchidos no SaltStack Config
    4. Opcional: marque a opção Executar como teste (simulação) para executar um trabalho de teste e gerar um retorno de trabalho simulado. A opção Teste (simulado) está disponível apenas para determinadas funções, como state.apply. Se você selecionar Teste, o trabalho será executado no modo de simulação, e nenhuma alteração será feita. Se essa opção for deixada desmarcada, você poderá optar por executar o trabalho como um teste mais tarde quando executar o trabalho.
    5. Opcional: adicione Entradas de Trabalho ao seu trabalho. Consulte Adicionando entradas de trabalho para obter mais informações.
  4. Salve o trabalho e confirme se ele aparece no espaço Trabalhos.

Adicionando entradas de trabalho

Como administrador de sistemas, você pode usar entradas de trabalho para configurar argumentos ou variáveis que outros usuários podem alterar no tempo de execução. Em vez de criar vários trabalhos para diferentes casos de uso, você pode criar trabalhos de uso geral e, em seguida, definir entradas de trabalho opcionais e necessárias para seus usuários. Esses trabalhos de propósito geral podem ajudar a reduzir a quantidade de solicitações de criação de trabalho que você recebe.

Uma vantagem de usar entradas de trabalho é que você pode restringir ou limitar o acesso aos tipos de argumentos ou variáveis que outros administradores podem transmitir à função no tempo de execução do trabalho, ao mesmo tempo que lhes dá a capacidade de executar as tarefas necessárias para realizar tarefas dentro do escopo de sua responsabilidade. Dessa forma, entradas de trabalho claramente definidas garantem que sua organização esteja seguindo as práticas recomendadas de segurança padrão, como o princípio do menor privilégio.

Antes de começar

Considere quais entradas de trabalho os usuários precisam editar

Antes de definir suas entradas de trabalho, é importante refletir sobre quais entradas de trabalho você deseja que os usuários vejam e editem em tempo de execução. Lembre-se de que outros usuários além de você podem executar esse trabalho e que a maneira como as entradas de trabalho aparecem para eles mudará dependendo de como você as tiver configurado. Reserve um tempo para refletir sobre quais entradas de trabalho você deseja que esses usuários vejam e editem em tempo de execução.

Por exemplo, talvez você crie um trabalho que aplica definições de configuração aos servidores com base na finalidade ou na função do servidor. Você possivelmente pode criar um trabalho genérico que aplica definições de configuração de um arquivo de estado e, em seguida, criar entradas de trabalho que permitem a um administrador selecionar qual arquivo de estado é aplicado em uma lista no menu suspenso. No tempo de execução do trabalho, o usuário veria o menu suspenso com uma lista dos arquivos de estado possíveis que você definiu e nada mais.

Dessa forma, as entradas de trabalho fornecem aos administradores do sistema mais controle sobre o que você permite que outros administradores vejam e alterem no tempo de execução do trabalho. Você pode fornecer flexibilidade e, ao mesmo tempo, garantir que outros usuários apenas possam alterar o que é permitido no escopo de suas responsabilidades ou nível de permissão.

Para definir entradas de trabalho:
  1. Clique em Configurar > Trabalhos no menu lateral para abrir o espaço Trabalhos.
  2. Selecione um trabalho para abrir os detalhes do trabalho.
  3. Role para baixo até a seção Entradas de Trabalho da página de detalhes do trabalho.Captura de tela de uma lista de entradas de trabalho
  4. Clique no botão Adicionar Entrada de Trabalho.
  5. Digite os detalhes da entrada de trabalho.
    Campo Valor
    Nome para Exibição

    Defina o nome da entrada do trabalho.

    Quando um usuário vê essa entrada de trabalho em tempo de execução, o texto que você digita como o Nome para Exibição é o indicador mais importante da função e da finalidade da entrada.

    Escolha um nome curto, preciso e descritivo, como "Serviço a ser reiniciado".

    Tipo de Entrada

    Defina o tipo de entrada do trabalho. Existem quatro tipos de entrada: string, número, booleano e seleção.

    • Use o tipo de entrada de string se quiser que os usuários forneçam um valor.
    • Use o tipo de entrada de número se quiser que os usuários especifiquem a quantidade ou o tamanho.
    • Use o tipo de entrada booleano para cenários verdadeiros ou falsos.
    • Use o tipo de entrada de seleção se quiser que os usuários escolham de uma lista de valores. Os valores em uma lista de seleção podem ser strings, números ou booleanos. Por exemplo, o tipo de entrada para a entrada de trabalho "Serviço a ser reiniciado" pode ser uma lista de strings de seleção. Por exemplo, httpd, sshd ou mysqld.

    Antes de escolher um tipo de entrada, consulte o Índice de módulos Salt. O tipo de entrada é determinado pelo módulo Salt que o trabalho usa e com qual parâmetro esse tipo de entrada se correlaciona no módulo Salt. Se você escolher o tipo de entrada errado, o trabalho falhará.

    Mostrar na execução do trabalho

    Permita que os usuários vejam e editem valores ao executar o trabalho.

    Se você alternar essa configuração, o campo Texto de ajuda aparecerá na janela Editar entrada de trabalho.

    Se você tiver dificuldade em encontrar um Nome para Exibição curto e preciso, use o campo Texto de ajuda para fornecer informações adicionais sobre a entrada do trabalho. Por exemplo, você pode descrever uma situação que exige que um usuário forneça um valor.

    Esse texto de ajuda aparece sob uma dica de ferramenta de ajuda (?) ao lado do nome da entrada do trabalho quando um usuário executa o trabalho.

    Palavra-chave

    Forneça o parâmetro ou argumento que é transmitido à função de módulo que está sendo executada. Consulte o Índice de módulos Salt para obter mais informações sobre funções de módulos.

    Observação: entradas de trabalho não oferecem suporte a argumentos posicionais sem palavras-chave. Estes podem ser especificados no trabalho em Argumentos, mas não podem ser fornecidos na execução do trabalho.

    Valor Padrão/Valor

    Se a opção Mostrar na execução do trabalho estiver ativada, você poderá usar o campo opcional Valor padrão para fornecer um valor padrão para a entrada do trabalho. Os usuários podem transmitir o valor padrão à função do módulo ou alterá-lo em tempo de execução.

    Considere se será útil fornecer um valor padrão para os seus usuários. Fornecer um valor padrão pode ajudar os seus usuários a economizar tempo ao executar trabalhos, mas pode haver situações em que isso não é necessário. Por exemplo, uma entrada de trabalho chamada "Datacenter" pode não exigir um valor padrão porque o valor variará.

    Se a opção Mostrar na execução do trabalho estiver desativada, você poderá usar o campo Valor para transmitir um valor padrão à função do módulo. Os usuários não poderão ver ou editar o valor.

    Necessário na entrada do trabalho

    Se a opção Mostrar na execução do trabalho estiver ativada, você terá a opção de exigir que os usuários forneçam um valor para a entrada do trabalho.

    Considere se será útil exigir que os usuários forneçam um valor. Ao projetar suas tarefas, pense no que poderá acontecer se os usuários não fornecerem um valor. Se o trabalho puder falhar sem um valor, solicite esse valor em tempo de execução. Se o trabalho puder ser executado com êxito sem esse valor, torne-o opcional.

    Se possível, use o campo Texto de ajuda para ajudar os usuários a compreender a função da entrada de trabalho.

  6. Salve a entrada de trabalho e confirme se ela aparece na lista de entradas de trabalho na página de detalhes do trabalho.
    Observação:

    Outros campos podem aparecer na lista de entradas de trabalho, como Ambientes, Estados ou Teste, dependendo da função do módulo que você está usando. Se quiser que os usuários vejam essas entradas em tempo de execução, clique no ícone de lápis ao lado da palavra-chave para editar a entrada do trabalho e alterne para Mostrar na execução do trabalho.

  7. Salve o trabalho.
  8. Para validar que as suas entradas de trabalho funcionam conforme o esperado, faça login no SaltStack Config como um usuário que pode executar trabalhos com um nível de permissão mais baixo ou uma função com menos privilégios de acesso.

    Se uma entrada de trabalho estiver ausente, ou se a entrada de trabalho precisar de argumentos ou descrições adicionais, faça os ajustes necessários no trabalho antes de permitir que os usuários o executem.

Próximas etapas

Depois de criar seu trabalho, agora você pode ser executado assistematicamente ou com base em um agendamento regular. Para obter mais informações, consulte: