Neste exemplo, é adicionado o gerenciamento de configuração do Puppet a um modelo de nuvem implantado em um recurso de processamento do vCenter com acesso de nome de usuário e senha.

Este procedimento mostra um exemplo de como criar um recurso implantável ativado para Puppet que requer autenticação de nome de usuário e senha. O acesso de nome de usuário e senha significa que o usuário deve fazer login manualmente a partir do recurso de processamento da máquina principal Puppet a fim de invocar o gerenciamento de configuração do Puppet.

Opcionalmente, é possível configurar a autenticação de acesso remoto que configura o gerenciamento de configuração em um modelo de nuvem para que o recurso de processamento cuide da autenticação com a máquina principal do Puppet. Com o acesso remoto ativado, o recurso de processamento gera automaticamente uma chave para satisfazer a autenticação de senha. Um nome de usuário válido ainda é necessário.

Consulte Exemplos de modelo de nuvem de gerenciamento de configuração do AWS Puppet e Exemplos de modelo de nuvem de configuração do Puppet no vCenter para obter mais exemplos de como configurar diferentes cenários do Puppet nos blueprints do Cloud Assembly.

Pré-requisitos

Procedimento

  1. Adicione um componente de gerenciamento de configuração do Puppet a um recurso de processamento do vSphere na tela para o modelo de nuvem desejado.
    1. Selecione Infraestrutura > Gerenciar > Integrações.
    2. Clique em Adicionar Integração e selecione Puppet.
    3. Digite as informações apropriadas na página de configuração do Puppet.
      Configuração Descrição Valor de exemplo
      Nome do Host Nome do host ou endereço IP da máquina primária do Puppet Puppet-Ubuntu
      Porta SSH Porta SSH para comunicação entre o Cloud Assembly e a máquina primária do Puppet. (Opcional) N/D
      Segredo de Autoassinatura O segredo compartilhado configurado na máquina primária do Puppet que os nós devem fornecer para suportar as solicitações de certificado de autoassinatura. Específico do usuário
      Localização Indica se a máquina primária do Puppet está em uma nuvem privada ou pública.
      Observação: A implantação entre nuvens só terá suporte se houver conectividade entre o recurso de processamento de implantação e a máquina primária do Puppet.
      Cloud proxy Não é necessário para contas de nuvem pública, como o Microsoft Azure ou o Amazon Web Services. Se estiver usando uma conta de nuvem baseada no vCenter, selecione o cloud proxy apropriado para a sua conta. N/D
      Nome de Usuário Nome de usuário SSH e RBAC para a máquina primária do Puppet. Específico do usuário. O valor de YAML é '${input.username}'
      Senha Senha SSH e RBAC para a máquina primária do Puppet. O valor de YAML específico do usuário é '${input.password}'
      Usar comandos sudo para este usuário Selecione para usar os comandos sudo para o procidd. verdadeiro
      Nome Nome da máquina primária do Puppet. PEMasterOnPrem
      Descrição
  2. Adicione as propriedades username e password ao Puppet YAML, conforme mostrado no exemplo a seguir.
  3. Certifique-se de que o valor da propriedade remoteAccess para o YAML do modelo de nuvem Puppet esteja definido como authentication: username and password, conforme mostrado no exemplo abaixo.

Exemplo: Código YAML do nome de usuário e senha do vCenter

O exemplo a seguir mostra o código YAML representativo para adicionar nome de usuário e autenticação de senha em um recurso de processamento do vCenter.

inputs:
  username:
    type: string
    title: Username
    description: Username to use to install Puppet agent
    default: puppet
  password:
    type: string
    title: Password
    default: VMware@123
    encrypted: true
    description: Password for the given username to install Puppet agent
resources:
  Puppet-Ubuntu:
    type: Cloud.vSphere.Machine
    properties:
      flavor: small
      imageRef: >-
        https://cloud-images.ubuntu.com/releases/16.04/release-20170307/ubuntu-16.04-server-cloudimg-amd64.ova
      remoteAccess:
        authentication: usernamePassword
        username: '${input.username}'
        password: '${input.password}'
  Puppet_Agent:
    type: Cloud.Puppet
    properties:
      provider: PEMasterOnPrem
      environment: production
      role: 'role::linux_webserver'
      username: '${input.username}'
      password: '${input.password}'
      host: '${Puppet-Ubuntu.*}'
      useSudo: true
      agentConfiguration:
        certName: '${Puppet-Ubuntu.address}'