Se você tiver integrado o SaltStack Config ao vRealize Automation, poderá aplicar o recurso SaltStack Config para instalar os subordinados em máquinas virtuais nas suas implantações. Depois que o subordinado for implantado, você poderá usar os poderosos recursos de gerenciamento de configuração, correção de desvios e gerenciamento de estado do SaltStack Config para gerenciar seus recursos.

Subordinados são agentes que executam o serviço sal-minion. O serviço assina trabalhos publicados por um mestre Salt, que é um servidor que executa o serviço salt-master. Quando um trabalho específico se aplica a um subordinado, este o executa.

Você pode usar o recurso SaltStack Config para implantar subordinados e aplicar arquivos de estado ao implantar máquinas Linux e Windows. Para adicionar ou atualizar subordinados e arquivos de estado em implantações existentes, você pode executar a ação de dia 2 Anexar Recurso do SaltStack. Para obter mais informações sobre a ação de dia 2, consulte Quais ações posso executar nas implantações do Cloud Assembly.

Se você usou a propriedade saltConfiguration para implantar os subordinados e arquivos de estado como uma ação de dia 0, considere atualizar seus modelos de nuvem para usar o recurso SaltStack Config. A propriedade saltConfiguration agora está obsoleta. Você ainda pode usar a propriedade saltConfiguration em seus modelos de nuvem, mas os recursos de integração do SaltStack Config serão limitados.

A ação de dia 2 Aplicar Configuração do Salt ainda está disponível para os recursos que utilizam a propriedade saltConfiguration.

Antes de começar

  1. Verifique se você instalou o SaltStack Config e configurou a integração. Consulte Criar uma integração com o SaltStack Config no vRealize Automation.

    Para se familiarizar com o funcionamento do SaltStack Config, incluindo os principais conceitos sobre subordinados, consulte Compreendendo a interface do usuário do SaltStack.

  2. No SaltStack Config, verifique se a resolução de nomes FQDN do subordinado para o mestre está funcionando.
    1. Para verificar o FQDN no mestre Salt no SaltStack Config, selecione Subordinados > Todos os Subordinados.
    2. Filtre a coluna ID do subordinado em busca do valor saltmaster.
    3. Clique em saltmaster para ver os detalhes.
    4. Verifique se o valor do FQDN está correto.
  3. Se você estiver implantando subordinados em uma máquina Linux, verifique se as imagens no vSphere que você pretende implantar com um subordinado Salt têm recursos de SSH ativados. O SSH é usado para acessar a máquina remotamente e implantar o subordinado.
  4. Se você estiver implantando subordinados em uma máquina Windows, consulte Como implantar subordinados usando a API (RaaS) em um ambiente Windows.

  5. Se você estiver implantando subordinados em uma máquina virtual que tenha o VMware Tools instalado e um subordinado Salt configurado, verifique se a chave de subordinado do VMware Tools Salt aparece na guia Aceito no espaço de trabalho Chaves de Subordinados do SaltStack Config. Consulte Ativar o subordinado Salt usando o VMware Tools para obter mais informações.

    Observação: Se o subordinado Salt do VMware Tools for uma versão mais antiga, a implantação de um subordinado na máquina virtual não atualizará o mestre Salt para a versão mais recente. Você deverá atualizar o mestre Salt manualmente. Consulte Atualizar o Master Plugin para obter mais informações.
  6. Verifique se você pode atribuir endereços IP às máquinas implantadas.

    O SaltStack Config requer que as máquinas tenham endereços IP. Use os endereços IP para o intervalo de CIDR de IPs públicos para o SDDC (centro de dados definido por software) no qual seu mestre Salt está localizado.

  7. Verifique se o modelo de nuvem ao qual você está adicionando o subordinado é implantável antes de adicionar as propriedades de recursos SaltStack Config.
  8. Verifique se você tem as seguintes funções de serviço:
    1. Administrador do Cloud Assembly
    2. Usuário do Cloud Assembly
    3. Administrador do Service Broker

    Essas funções de serviço são necessárias para usar o recurso SaltStack Config.

Adicionar o recurso SaltStack Config ao modelo de nuvem

Como desenvolvedor de modelo de nuvem, você pode adicionar propriedades ao YAML que instala o subordinado do SaltStack Config ao implantar o modelo.

As propriedades principais que você adiciona ao modelo incluem acesso remoto para a máquina que você deseja implantar e propriedades de configuração para o recurso SaltStack Config. O procedimento inclui apenas as propriedades selecionadas. O YAML inclui outras propriedades de recursos do SaltStack Config que não são usadas nesse exemplo. Para obter mais informações, revise o esquema.

Embora este exemplo mostre como adicionar o nome de usuário e a senha para as propriedades de acesso remoto, você pode configurar uma propriedade secreta e adicioná-la ao modelo. Para obter um exemplo, consulte Propriedades secretas do Cloud Assembly.

Procedimento

  1. No Cloud Assembly, selecione Design > Modelos de Nuvem.
  2. Abra um modelo existente.
  3. Localize o recurso SaltStack Config e arraste-o até a tela.
  4. Anexe o recurso SaltStack Config à máquina na qual o subordinado será instalado.
  5. No painel de código, adicione propriedades ao recurso Cloud_SaltStack_1.

    Não é necessário incluir todas as propriedades possíveis. Os valores utilizados neste exemplo são explicados na tabela.

    Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource.Cloud_vSphere_Machine_1.id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe

    Descrição das propriedades Cloud_SaltStack_1 usadas neste exemplo.

    Propriedade Descrição
    masterId No esquema de exemplo, o valor de masterId é saltstack_enterprise_installer. Você pode ter IDs de mestre definidos no SaltStack Config, em Administração > Chaves do Mestre.
    hosts O valor de hosts é o ID da máquina ou cluster de máquinas em que você deseja instalar o subordinado. Por padrão, o nome da máquina é transmitido como o ID do subordinado no SaltStack Config.

    É recomendável que você escolha nomes de máquina com 15 caracteres ou menos, especialmente se estiver implantando subordinados no Windows. O Windows não permite nomes de host que excedam 15 caracteres.

    Se quiser definir uma convenção de nomenclatura personalizada para as máquinas que deseja implantar, consulte Nomenclatura personalizada para recursos implantados no Cloud Assembly.

    saltEnvironment Neste exemplo, sse é uma localização para os arquivos de estado. Você pode ter seus arquivos de estado em outras localizações do servidor de arquivos no SaltStack Config, em Configuração > Servidor de Arquivos.
    stateFiles Neste exemplo, doe.sls é um arquivo de estado fornecido no diretório do servidor de arquivos especificado como saltEnvironment.
    variables As variáveis são os valores usados pelo arquivo de estado. Neste exemplo, doe.sls aceita um valor user.
  6. Adicione propriedades remoteAccess à máquina que hospeda o subordinado Salt.

    O valor da chave authentication deve ser usernamePassword ou generatedPublicPrivateKey. Não há suporte para publicPrivateKey.

     remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
  7. Verifique se o YAML inclui propriedades semelhantes ao exemplo a seguir.
    resources:
      Cloud_vSphere_Machine_1:
        type: Cloud.vSphere.Machine
        properties:
          image: ubuntu
          flavor: small
          remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
      Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource.Cloud_vSphere_Machine_1.id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe
  8. Teste e implante o modelo de nuvem.
    Se a implantação do seu subordinado falhar, consulte Solucionando problemas com implantações de subordinados.
  9. Verifique as propriedades de Configuração do Salt da máquina implantada.
    1. Selecione Implantações > Implantações e abra os detalhes da implantação.
    2. Na guia Topologia, clique na máquina e expanda as propriedades no painel direito.

      Captura de tela da guia Topologia com as propriedades de Configuração do Salt expandidas no painel direito. As propriedades incluem o ID do mestre, o ambiente Salt e arquivos de Estado.

Verificar o subordinado no SaltStack Config

Depois de instalar o subordinado na máquina virtual, localize-o e execute quaisquer trabalhos ou comandos no recurso.

Procedimento

  1. Para abrir o SaltStack Config, clique no menu Aplicativos no canto superior direito e clique em Console de Serviços de Nuvem.
  2. Clique no bloco de serviço SaltStack Config.
  3. No SaltStack Config, expanda Chaves de Subordinados e clique em Aceito.
  4. Na coluna ID do Subordinado, clique no ícone de filtro e digite o nome do subordinado.
    O nome do subordinado é padronizado como o nome do host da máquina virtual. Neste exemplo, o ID do subordinado é vra-vm-05.
    Captura de tela das chaves de subordinados aceitas no SaltStack Config.
  5. Para exibir os detalhes, clique no nome do subordinado.
    Você pode executar trabalhos ou comandos no subordinado. Por exemplo, Uso de Disco de Exemplo. Esse trabalho retorna estatísticas de uso de disco para um subordinado.
    Captura de tela da página de detalhes para o ID de subordinado de amostra

Solucionando problemas com implantações de subordinados

Leia sobre alguns erros comuns que os usuários enfrentam ao implantar subordinados Salt usando o recurso SaltStack Config ou a propriedade saltConfiguration.

Inicialização do host atrasada

Se serviços Windows ou Linux no host não estiverem prontos após a implantação do modelo de nuvem, você poderá receber um erro "Falha na execução do arquivo de estado e/ou implantação do subordinado" no Cloud Assembly.

Para resolver esse erro, faça upgrade do Master Plugin para a versão estável mais recente. Após o upgrade, você pode ativar uma definição de configuração no /etc/salt/master.d/raas.conf que dá tempo para que os serviços do Windows e Linux se tornem ativos antes de implantar o subordinado Salt.

Antes de fazer upgrade para a versão mais recente do Master Plugin, conclua essas etapas para atrasar a inicialização do host:

  1. Verifique a guia Histórico na página de detalhes da implantação.
  2. Se a mensagem de erro indicar "Falha na execução do arquivo de estado e/ou implantação do subordinado", copie o ID do trabalho (JID) e abra o SaltStack Config.
  3. No SaltStack Config, selecione Atividade > Concluída para abrir trabalhos concluídos.
  4. Na coluna JID, clique no ícone de filtro e digite o JID.
  5. Clique no JID para revisar a página de resultados do trabalho.
  6. Clique na guia Bruta para ver a saída bruta do trabalho.

    Windows

    Se a última linha na saída bruta do trabalho contiver "Falha ao se conectar ao host: tempo limite esgotado", você deverá adicionar esta definição de configuração a /etc/salt/master.d/raas.conf para atrasar a inicialização em 180 segundos:
    sseapi_win_minion_deploy_delay: 180

    Linux

    Se a última linha da saída bruta para o trabalho contiver "O host remoto não pode ser acessado usando as credenciais fornecidas", você deverá adicionar esta definição de configuração a /etc/salt/master.d/raas.conf para atrasar a inicialização em 90 segundos:
    sseapi_linux_minion_deploy_delay: 90
  7. Reinicie o serviço do mestre Salt:
    systemctl restart salt-master
  8. Implante seu modelo de nuvem.

    Se a implantação não foi bem-sucedida, você poderá aumentar o parâmetro de atraso e reimplantar o modelo.

O que fazer em seguida

Para usar os recursos do SaltStack Config para gerenciar seus recursos, consulte a Documentação do SaltStack Config.