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 SaltStack Config que não são usadas neste 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 SaltStack Config.

    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_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 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 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
  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
          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 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 é salt-vm-010.
    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

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 Cloud Assembly.

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 SaltStack Config ou quiser exibir rapidamente os dados de grains sem sair da interface de usuário do Cloud Assembly, 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 Cloud Assembly, selecione Recursos > Implantações e localize sua implantação.
  2. Na guia Topologia, selecione a máquina virtual que está conectada ao recurso SaltStack Config.
  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 Cloud Assembly

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.

Captura de tela dos últimos dados de grain atualizados no Cloud Assembly
Observação: Os dados de grain só serão atualizados se você executar a ação de dia 2 Atualizar Configuração do Salt em um recurso do SaltStack Config. Eles não serão atualizados se quaisquer alterações forem feitas fora do Cloud Assembly.