In diesem Beispiel fügen Sie Puppet-Konfigurationsverwaltung zu einer Cloud-Vorlage hinzu, die auf einer vCenter-Computing-Ressource mit Zugriff auf Benutzernamen und Kennwort bereitgestellt wird.

Dieses Verfahren zeigt ein Beispiel dafür, wie Sie eine Puppet-fähige einsetzbare Ressource erstellen können, die eine Authentifizierung von Benutzername und Kennwort erfordert. Der Zugriff auf Benutzername und Kennwort bedeutet, dass sich der Benutzer manuell von der Computing-Ressource bei der primären Puppet-Maschine anmelden muss, um die Verwaltung der Puppet-Konfiguration aufzurufen.

Optional können Sie RAS-Authentifizierung konfigurieren, die die Konfigurationsverwaltung in einer Cloud-Vorlage einrichtet, sodass die Computing-Ressource die Authentifizierung mit der primären Puppet-Maschine verarbeitet. Wenn der Remotezugriff aktiviert ist, generiert die Computing-Ressource automatisch einen Schlüssel für die Kennwortauthentifizierung. Ein gültiger Benutzername ist weiterhin erforderlich.

Weitere Beispiele dafür, wie Sie verschiedene Puppet-Szenarien in Cloud Assembly-Blueprints konfigurieren können, finden Sie unter Cloud-Vorlagenbeispiele für die Puppet-Konfigurationsverwaltung in AWS und Beispiele für Cloud-Vorlagen für die vCenter Puppet-Konfiguration.

Voraussetzungen

  • Richten Sie eine Puppet Enterprise-Instanz in einem gültigen Netzwerk ein.
  • Fügen Sie mithilfe der Integrations-Funktion Ihre Puppet Enterprise-Instanz Cloud Assembly hinzu. Weitere Informationen finden Sie unter Konfigurieren der Puppet Enterprise-Integration in Cloud Assembly.
  • Richten Sie ein vSphere-Konto und eine vCenter-Computing-Ressource ein.

Prozedur

  1. Fügen Sie eine Verwaltungskomponente für die Puppet-Konfiguration zu einer vSphere-Computing-Ressource auf der Arbeitsfläche für die gewünschte Cloud-Vorlage hinzu.
    1. Wählen Sie Infrastruktur > Verwalten > Integrationen aus.
    2. Klicken Sie auf Integration hinzufügen und wählen Sie „Puppet“ aus.
    3. Geben Sie auf der Seite „Puppet-Konfiguration“ die entsprechenden Informationen ein.
      Konfiguration Beschreibung Beispielwert
      Hostname Der Hostname oder die IP-Adresse der primären Puppet-Maschine. Puppet-Ubuntu
      SSH-Port SSH-Port für die Kommunikation zwischen Cloud Assembly und der primären Puppet-Maschine. (Optional)
      Geheimer Schlüssel für automatische Signierung Der auf der primären Puppet-Maschine konfigurierte gemeinsame geheime Schlüssel, der von Knoten zur Unterstützung von Zertifikatsanforderungen für automatische Signierung bereitgestellt werden soll. Benutzerspezifisch
      Speicherort Geben Sie an, ob sich die primäre Puppet-Maschine in einer Private Cloud oder Public Cloud befindet.
      Hinweis: Die cloud-übergreifende Bereitstellung wird nur unterstützt, wenn eine Verbindung zwischen der Computing-Ressource der Bereitstellung und der primären Puppet-Maschine besteht.
      Cloud proxy Nicht erforderlich für Public Cloud-Konten, wie zum Beispiel Microsoft Azure oder Amazon Web Services. Wenn Sie ein vCenter-basiertes Cloud-Konto verwenden, wählen Sie den entsprechenden cloud proxy für Ihr Konto aus.
      Benutzername SSH- und RBAC-Benutzername für primäre Puppet-Maschine. Benutzerspezifisch. YAML-Wert ist '${input.username}'
      Kennwort SSH- und RBAC-Kennwort für primäre Puppet-Maschine. Der benutzerspezifische YAML-Wert ist '${input.password}'
      Sudo-Befehle für diesen Benutzer verwenden Wählen Sie diese Option aus, um sudo-Befehle für procidd zu verwenden. true
      Name Name der primären Puppet-Maschine PEMasterOnPrem
      Beschreibung
  2. Fügen Sie die Eigenschaften für Benutzername und Kennwort zur Puppet-YAML hinzu, wie im folgenden Beispiel gezeigt.
  3. Stellen Sie sicher, dass der Wert für die RAS-Eigenschaft der Puppet-Cloud-Vorlagen-YAML auf authentication: username and password festgelegt ist, wie im folgenden Beispiel gezeigt.

Beispiel: YAML-Code für vCenter-Benutzername und -Kennwort

Das folgende Beispiel zeigt den repräsentativen YAML-Code für das Hinzufügen der Benutzernamen- und Kennwortauthentifizierung für eine vCenter-Computing-Ressource.

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}'