Sono disponibili diverse opzioni per la configurazione dei modelli cloud per il supporto della gestione della configurazione basata su Puppet sulle risorse di elaborazione di vCenter.

Puppet su vSphere con autenticazione con nome utente e password

Nell'esempio seguente viene mostrato l'esempio di codice YAML per Puppet in un'istanza OVA di vSphere con autenticazione con nome utente e password.

Tabella 1.
Esempio di... Campione di YAML del blueprint
Codice YAML per Puppet in un'istanza OVA di vSphere con autenticazione nome utente e password.
inputs:
  username:
    type: string
    title: Username
    default: puppet
  password:
    type: string
    title: Password
    encrypted: true
    default: VMware@123
resources:
  Puppet_Agent:
    type: Cloud.Puppet
    properties:
      provider: PEonAWS
      environment: dev
      role: 'role::linux_webserver'
      username: '${input.username}'
      password: '${input.password}'
      useSudo: true
      host: '${Webserver.*}’
      osType: linux
      agentConfiguration:
        runInterval: 15m
        certName: ‘${Machine.address}'
  Webserver:
    type: Cloud.vSphere.Machine
    properties:
      cpuCount: 1
      totalMemoryMB: 1024
      imageRef: >-
https://cloud-images.ubuntu.com/releases/16.04/release-20170307/ubuntu-16.04-server-cloudimg-amd64.ova
      cloudConfig: |
        #cloud-config
        ssh_pwauth: yes
        chpasswd:
          list: |
            ${input.username}:${input.password}
          expire: false
        users:
          - default
          - name: ${input.username}
            lock_passwd: false
            sudo: ['ALL=(ALL) NOPASSWD:ALL']
            groups: [wheel, sudo, admin]
            shell: '/bin/bash'
            ssh-authorized-keys:
              - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDytVL+Q6+vGbmkXoRpX [email protected]
        runcmd:
          - echo "Defaults:${input.username}
Codice YAML per Puppet in un'istanza OVA di vSphere con autenticazione nome utente e password nella risorsa di elaborazione.
inputs:
  username:
    type: string
    title: Username
    default: puppet
  password:
    type: string
    title: Password
    encrypted: true
    default: VMware@123
resources:
  Puppet_Agent:
    type: Cloud.Puppet
    properties:
      provider: PEonAWS
      environment: dev
      role: 'role::linux_webserver'
      username: '${input.username}'
      password: '${input.password}'
      useSudo: true
      host: '${Webserver.*}’
      osType: linux
      agentConfiguration:
        runInterval: 15m
        certName: ‘${Machine.address}'
  Webserver:
    type: Cloud.vSphere.Machine
    properties:
      cpuCount: 1
      totalMemoryMB: 1024
      imageRef: >-
https://cloud-images.ubuntu.com/releases/16.04/release-20170307/ubuntu-16.04-server-cloudimg-amd64.ova
      cloudConfig: |
        #cloud-config
        ssh_pwauth: yes
        chpasswd:
          list: |
            ${input.username}:${input.password}
          expire: false
        users:
          - default
          - name: ${input.username}
            lock_passwd: false
            sudo: ['ALL=(ALL) NOPASSWD:ALL']
            groups: [wheel, sudo, admin]
            shell: '/bin/bash'
            ssh-authorized-keys:
              - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDytVL+Q6+vGbmkXoRpX [email protected]
        runcmd:
          - echo "Defaults:${input.username}
Codice YAML per Puppet in un'istanza OVA di vCenter con autenticazione con password mediante accesso remoto nella risorsa di elaborazione.
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}'

Puppet su vSphere con autenticazione PublicPrivateKey generata

Tabella 2.
Esempio di... Campione di YAML del blueprint
Codice YAML per Puppet in un'istanza OVA di vSphere con autenticazione PublicPrivateKey generata nella risorsa di elaborazione.
inputs: {}
resources:
  Machine:
    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: generatedPublicPrivateKey
  Puppet_Agent:
    type: Cloud.Puppet
    properties:
      provider: puppet-BlueprintProvisioningITSuite
      environment: production
      role: 'role::linux_webserver'
      host: '${Machine.*}’
      osType: linux
      username: ubuntu
      useSudo: true
      agentConfiguration:
        runInterval: 15m
        certName: ‘${Machine.address}'
          - echo "Defaults:${input.username}