En este ejemplo, se agrega la administración de configuración de Puppet a una plantilla de nube implementada en un recurso informático de vCenter con acceso de nombre de usuario y contraseña.

Este procedimiento muestra un ejemplo de cómo puede crear un recurso compatible con Puppet que se pueda implementar y que requiera autenticación de nombre de usuario y contraseña. El acceso con nombre de usuario y contraseña significa que el usuario debe iniciar sesión manualmente desde el recurso informático en la máquina principal de Puppet para invocar la administración de configuración de Puppet.

De forma opcional, puede configurar la autenticación de acceso remoto que establece la administración de configuración en una plantilla de nube para que el recurso informático controle la autenticación con la máquina principal de Puppet. Con el acceso remoto habilitado, el recurso informático genera automáticamente una clave para satisfacer la autenticación de contraseña. Se requiere un nombre de usuario válido.

Consulte Ejemplos de plantillas de nube para la administración de la configuración de Puppet en AWS y Ejemplos de plantillas de nube de configuración de Puppet en vCenter para obtener más ejemplos de cómo puede configurar distintos escenarios de Puppet en blueprints de Automation Assembler.

Requisitos previos

Procedimiento

  1. Agregue un componente de administración de configuración de Puppet a un recurso informático de vSphere en el lienzo de la plantilla de nube que desee.
    1. Seleccione Infraestructura > Administrar > Integraciones.
    2. Haga clic en Agregar integración y seleccione Puppet.
    3. Introduzca la información adecuada en la página de configuración de Puppet.
      Configuración Descripción Valor de ejemplo
      Nombre de host Nombre de host o dirección IP de la máquina principal de Puppet Puppet-Ubuntu
      Puerto SSH Puerto SSH para la comunicación entre Automation Assembler y la máquina principal de Puppet. (Opcional) No corresponde
      Secreto de autofirma El secreto compartido configurado en la máquina principal de Puppet que los nodos deben proporcionar para admitir las solicitudes de certificado de autofirma. Específico del usuario
      Ubicación Indique si la máquina principal de Puppet está en una nube privada o pública.
      Nota: La implementación de nube cruzada solo se admite si existe conectividad entre el recurso informático de la implementación y la máquina principal de Puppet.
      Cloud proxy No se requiere para cuentas de nube pública, como Microsoft Azure o Amazon Web Services. Si utiliza una cuenta de nube basada en vCenter, seleccione el cloud proxy adecuado para su cuenta. No corresponde
      Nombre de usuario Nombre de usuario de SSH y RBAC para la máquina principal de Puppet. Específico del usuario. El valor de YAML es '${input.username}'
      Contraseña Contraseña de SSH y RBAC para la máquina principal de Puppet. El valor de YAML específico del usuario es '${input.password}'
      Usar comandos sudo para este usuario Seleccione que se utilicen comandos sudo para procidd. true
      Nombre Nombre de la máquina principal de Puppet. PEMasterOnPrem
      Descripción
  2. Agregue las propiedades de nombre de usuario y contraseña al YAML de Puppet, como se muestra en el siguiente ejemplo.
  3. Asegúrese de que el valor de la propiedad remoteAccess en el YAML de la plantilla de nube de Puppet esté establecido en authentication: username and password, como se muestra en el siguiente ejemplo.

Ejemplo: Código de YAML de nombre de usuario y contraseña de vCenter

El siguiente ejemplo muestra el código de YAML representativo para agregar la autenticación de nombre de usuario y contraseña en un recurso informático de 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}'