Como desenvolvedor de modelo de nuvem, você pode adicionar propriedades ao YAML que instala o subordinado do Salt 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 SaltStack resource. O procedimento inclui apenas as propriedades selecionadas. O YAML inclui outras propriedades SaltStack resource 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 Automation Assembler.

Se o subordinado Salt for implantado em um ambiente do Windows, consulte Ativando os subordinados do Windows para obter requisitos adicionais de dependência.

Procedimento

  1. No Automation Assembler, selecione Design > Modelos de Nuvem.
  2. Abra um modelo existente.
  3. Localize o SaltStack resource e arraste-o até a tela.
  4. Anexe o SaltStack resource à máquina na qual o subordinado será instalado.
  5. No painel de código, adicione propriedades ao SaltStack resource.
    Não é necessário incluir todas as propriedades possíveis. Os valores utilizados neste exemplo são explicados na tabela.
    Observação: Por padrão, a propriedade createTimeout é definida como 30 minutos. Você pode atualizar isso conforme necessário usando o formato minuto/hora, por exemplo: 30 min ou 1h.
    Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource["Cloud_VM_1".id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe
          additionalMinionParams:
            grains:
              roles:
                - webserver
                - database   
           additionalAuthParams:
             profile:
                tmp_dir: /var/run

    Aqui está uma 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 Automation 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 Automation 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 Automation Assembler.

    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 Automation 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 o saltEnvironment.
    variables Variáveis definidas no modelo de nuvem são transmitidas como pilares para estados Salt. Neste exemplo, a variável user é transmitida ao arquivo doe.sls.

    Variáveis podem ser referenciados em arquivos de estado usando Jinja, como mostra o exemplo a seguir:

    {% set username = pillar.get('user', 'random') %}
    
    friend:
      user.present:
        - names:
          -  {{username}}

    O arquivo doe.sls garante que um usuário, representado pela variável user no modelo de nuvem, exista. Se a variável não estiver especificada no modelo de nuvem, ela garantirá que o usuário random esteja presente.

    additionalMinionParams Use essa propriedade para passar parâmetros de configuração adicionais para o subordinado. Esses parâmetros devem ser transmitidos como um dicionário:

    • grains: use esta propriedade para atribuir grains do Salt personalizados ao subordinado. Um ou mais pares de key:value são aceitos. Os valores podem ser uma cadeia de caracteres, uma matriz ou um mapa.

      Você só pode atribuir dados de grain personalizados ao provisionar uma nova máquina. Você não pode atribuir dados de grain personalizados ao executar as ações de dia 2 Anexar Recurso do SaltStack ou Atualizar Configuração do Salt.

    additionalAuthParams Use esta propriedade para passar parâmetros de autorização adicionais para provisionar o subordinado que será mesclado/substituído com a configuração de nuvem salt padrão. Esses parâmetros devem ser transmitidos como um dicionário .

    Um ou mais pares chave:valor são aceitos como uma cadeia de caracteres, uma matriz ou um mapa. Para obter um exemplo de como essa propriedade é usada, consulte Caso de uso: Como implantar subordinados usando a API em um ambiente Linux.

    Observação: Você não pode atribuir parâmetros de autorização adicionais ao executar a ação de dia 2 Atualizar configuração do Salt.
  6. Adicione propriedades remoteAccess à máquina que hospeda o subordinado Salt.
    • Se você estiver implantando um subordinado do Salt em uma máquina Linux, o valor da chave authentication poderá ser usernamePassword ou generatedPublicPrivateKey. Não há suporte para publicPrivateKey.
    • Se você estiver implantando um subordinado Salt em uma máquina Windows, o valor da chave authentication deverá ser usernamePassword..
     remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
            skipUserCreation: true
    Observação: A propriedade skipUserCreation é para acesso remoto. Um usuário será criado por padrão se essa propriedade não estiver definida no modelo de nuvem ou se o valor for "false". Definir o valor como "true", como neste exemplo, ignora a criação de um novo usuário.
  7. Verifique se o YAML inclui propriedades semelhantes ao exemplo a seguir.
    resources:
      Cloud-Network:
        type: Cloud.Network
        properties:
          networkType: existing 
      Cloud_VM_1:
        type: Cloud.vSphere.Machine
        properties:
          image: ubuntu
          flavor: small
          remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
            skipUserCreation: true
          networks:
            - network: ${resource["Cloud-Network"].id}
      Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource["Cloud_VM_1"].id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe
          additionalMinionParams:
            grains:
              roles:
                - webserver
                - database
  8. Teste e implante o modelo de nuvem.
    Se a implantação do seu subordinado falhar, consulte Solucionar 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 de Configuração do Salt 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 os arquivos de estado.

Verificar o subordinado no Automation 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 Automation Config, clique no menu Aplicativos no canto superior direito e clique em Console de Serviços de Nuvem.
  2. Abra o serviço do VMware Aria Automation.
  3. Clique no bloco de serviço Config.
  4. No Automation Config, expanda Chaves de Subordinados e clique em Aceito.
  5. 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 é salt-vm-010.
    Captura de tela das chaves de subordinados Aceitas no Automation Config.
  6. 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

Exibir dados de grain do Salt

Depois de concluir a implantação de um subordinado do Salt em suas máquinas virtuais, você poderá exibir os grains do subordinado do Automation Assembler.

Os grains do Salt são coletados para o sistema operacional, o nome de domínio, o endereço IP, o kernel, o tipo de SO, a memória e muitas outras propriedades do subordinado. Se você não tiver acesso ao Automation Config ou quiser exibir rapidamente os dados de grains sem sair da interface de usuário do Automation Assembler, poderá usar a guia Topologia para exibir os dados de grains. Consulte os Grains do Salt para saber mais sobre os dados de grain.

Para exibir grains de um subordinado:

  1. No Automation Assembler, selecione Recursos > Implantações e localize sua implantação.
  2. Na guia Topologia, selecione a máquina virtual que está conectada ao SaltStack resource.
  3. Localize a seção Configuração do Salt no painel direito e role para baixo para visualizar a lista de dados de grain.Captura de tela de dados de grain no Automation Assembler

Os dados de grain de um subordinado são recuperados após a implantação do subordinado. Para ver quando os dados de grain foram atualizados pela última vez, você pode rolar até a parte inferior da seção Configuração do Salt.

Observação: Como alternativa, você pode visualizar os dados de Grains do Salt clicando em Recursos > Máquinas Virtuais e selecionando a VM desejada para exibir as configurações e os atributos da máquina.
Captura de tela dos últimos dados de grain atualizados no Automation Assembler