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:
- 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.
- 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.
- Crie um novo trabalho.
- Clique em Configurar > Trabalhos no menu lateral para abrir o espaço Trabalhos.
- 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.
- 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
ekwargs
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/
epath/to/dst
ao módulo.Você também pode usar argumentos de palavra-chave. Por exemplo, você pode transmitir
src=path/to/src/
edst=path/to/dst/
ao módulofile.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 emkwarg
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.
- 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. - Opcional: adicione Entradas de Trabalho ao seu trabalho. Consulte Adicionando entradas de trabalho para obter mais informações.
- 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.
- Clique em Configurar > Trabalhos no menu lateral para abrir o espaço Trabalhos.
- Selecione um trabalho para abrir os detalhes do trabalho.
- Role para baixo até a seção Entradas de Trabalho da página de detalhes do trabalho.
- Clique no botão Adicionar Entrada de Trabalho.
- 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
oumysqld
.
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.
- 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.
- Salve o trabalho.
- 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: