Dans cet exemple, vous ajoutez la gestion de la configuration de Puppet à un modèle de cloud déployé sur une ressource de calcul vCenter avec accès par nom d'utilisateur et mot de passe.

Cette procédure fournit l'exemple de création d'une ressource pouvant être déployée avec prise en charge de Puppet, et exigeant une authentification par nom d'utilisateur et mot de passe. L'accès par nom d'utilisateur et mot de passe signifie que l'utilisateur doit se connecter manuellement de la ressource de calcul à la machine principale Puppet, pour appeler la gestion de la configuration de Puppet.

Vous pouvez également configurer l'authentification de l'accès à distance, qui configure la gestion de la configuration dans un modèle de cloud, afin que la ressource de calcul gère l'authentification avec la machine principale Puppet. Lorsque l'accès à distance est activé, la ressource de calcul génère automatiquement une clé pour satisfaire à l'authentification par mot de passe. Un nom d'utilisateur valide est obligatoire.

Reportez-vous aux sections Exemples de modèle de cloud de gestion de la configuration Puppet sur AWS et Exemples de modèles de cloud de configuration de vCenter Puppet pour obtenir d'autres exemples de configuration de différents scénarios de Puppet dans les Blueprints Cloud Assembly.

Conditions préalables

  • Configurez une instance d'entreprise Puppet sur un réseau valide.
  • Ajoutez votre instance d'entreprise Puppet à Cloud Assembly à l'aide de la fonctionnalité Intégrations. Reportez-vous à la section Configurer l'intégration de Puppet Enterprise dans Cloud Assembly
  • Configurez un compte vSphere et une ressource de calcul vCenter.

Procédure

  1. Ajoutez un composant de gestion de la configuration de Puppet à une ressource de calcul vSphere, sur le canevas correspondant au modèle de cloud souhaité.
    1. Sélectionnez Infrastructure > Gérer > Intégrations.
    2. Cliquez sur Ajouter une intégration et sélectionnez Puppet.
    3. Entrez les informations appropriées sur la page de configuration de Puppet.
      Configuration Description Exemple de valeur
      Nom d'hôte Nom d'hôte ou adresse IP de la machine principale Puppet Puppet-Ubuntu
      Port SSH Port SSH pour la communication entre Cloud Assembly et la machine principale Puppet. (Facultatif) S/O
      Secret Autosign Secret partagé configuré sur la machine principale Puppet, que les nœuds doivent fournir pour prendre en charge les demandes de certificat Autosign. Propre à l'utilisateur
      Emplacement Indiquez si la machine principale Puppet se trouve sur un cloud privé ou public.
      Note : Le déploiement croisé de clouds n'est pris en charge que s'il existe une connectivité entre la ressource de calcul du déploiement et la machine principale Puppet.
      Cloud proxy Facultatif pour les comptes de cloud public, comme Microsoft Azure ou Amazon Web Services. Si vous utilisez un compte de cloud basé sur vCenter, sélectionnez le cloud proxy approprié pour votre compte. S/O
      Nom d'utilisateur Nom d'utilisateur SSH et RBAC pour la machine principale Puppet. Propre à l'utilisateur. La valeur YAML est '${input.username}'
      Mot de passe Mot de passe SSH et RBAC pour la machine principale Puppet. La valeur YAML propre à l'utilisateur est '${input.password}'
      Utiliser les commandes sudo pour cet utilisateur Sélectionnez cette option pour utiliser les commandes sudo pour le procidd. true
      Nom Nom de la machine principale Puppet. PEMasterOnPrem
      Description
  2. Ajoutez les propriétés de nom d'utilisateur et de mot de passe au fichier YAML Puppet comme indiqué dans l'exemple suivant.
  3. Assurez-vous que la valeur de la propriété remoteAccess permettant d'accéder au fichier de modèle de cloud YAML Puppet est définie sur authentication: username and password, comme indiqué dans l'exemple ci-dessous.

Exemple : Code YAML du nom d'utilisateur et du mot de passe vCenter

L'exemple suivant montre le code YAML représentatif pour ajouter l'authentification par nom d'utilisateur et mot de passe sur une ressource de calcul 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}'