vRealize Automation Cloud Assembly supporta l'integrazione con la gestione della configurazione di Puppet Enterprise.

Quando si aggiunge Puppet Enterprise a Cloud Assembly come sistema esterno, per impostazione predefinita è disponibile in tutti i progetti. È possibile limitarlo a progetti specifici.

Per aggiungere un'integrazione di Puppet Enterprise, è necessario disporre del nome master di Puppet e del nome host o indirizzo IP del master.

I registri di Puppet sono disponibili nella seguente posizione nel caso in cui sia necessario controllarli per errori o a scopo informativo.

Descrizione Posizione registro
Registro per gli eventi correlati alla creazione e all'installazione

I registri si trovano nella macchina distribuita in `~/var/tmp/vmware/provider/user_defined_script/$(ls -t ~/var/tmp/vmware/provider/user_defined_script/ | head -1)/`.

Per i registri completi, fare riferimento al file log.txt. Per i registri dettagliati dell'agente di Puppet, fare riferimento a https://puppet.com/docs/puppet/4.8/services_agent_unix.html#logging
Registro per le attività correlate all'esecuzione e all'eliminazione di Puppet I registri si trovano in PE all'indirizzo `~/var/tmp/vmware/provider/user_defined_script/$(ls -t ~/var/tmp/vmware/provider/user_defined_script/ | head -1)/`. Per i registri completi, fare riferimento al file log.txt.

Procedura

  1. Selezionare Infrastruttura > Connessioni > Integrazioni e fare clic su Aggiungi integrazione.
  2. Selezionare Puppet.
  3. Immettere le informazioni richieste nella pagina di configurazione di Puppet.
  4. Fare clic su Convalida per verificare l'integrazione.
  5. Fare clic su Aggiungi.

risultati

Puppet è disponibile per l'uso con i modelli cloud.

Operazioni successive

Aggiungere i componenti di Puppet ai modelli cloud desiderati.

  1. In Modelli di cloud in Cloud Assembly, selezionare Puppet sotto l'intestazione Gestione contenuti nel menu Modello cloud e trascinare il componente Puppet nella tela.
  2. Immettere le proprietà di Puppet nel riquadro a destra.
    Proprietà Descrizione
    Master Immettere il nome della macchina principale di Puppet da utilizzare con questo modello cloud.
    Ambiente Selezionare l'ambiente per la macchina principale di Puppet.
    Ruolo Selezionare il ruolo di Puppet da utilizzare con questo modello cloud.
    Intervallo di esecuzione dell'agente La frequenza con cui si desidera che l'agente Puppet esegua il polling della macchina principale di Puppet affinché i dettagli della configurazione vengano applicati alle macchine virtuali distribuite correlate a questo modello cloud.
  3. Fare clic sulla scheda Codice nel riquadro a destra per visualizzare il codice YAML per le proprietà di configurazione di Puppet.

Quando si aggiunge un componente Puppet a un modello cloud, è possibile aggiungere la proprietà installMaster al file YAML in modo che punti a un master di installazione Puppet, definito anche come master di compilazione. Il valore di questa proprietà può essere l'indirizzo IP o il nome host del master di compilazione Puppet. L'utilizzo di questa proprietà consente di accedere a funzionalità avanzate per le macchine virtuali Puppet distribuite e inoltre supporta azioni del giorno 2 aggiuntive.

  Puppet_Agent:
    type: Cloud.Puppet
    properties:
      account: PEIntegrationAccount
      environment: production
      role: 'role::linux_webserver'
      host: '${CentOS-Puppet.*}'
      username: root
      password: password123!
      installMaster: my-pe-compile-master.example.com
      agentConfiguration:
        certName: '${CentOS-Puppet.address}'
      osType: linux
      count: 1

Per impostazione predefinita, vRealize Automation passa alcune informazioni relative alla macchina alle macchine virtuali Puppet come dati. Per le macchine Windows, queste informazioni sono molto limitate. Nelle macchine Linux vengono trasmesse ulteriori informazioni per impostazione predefinita e gli utenti possono passare informazioni aggiuntive utilizzando le proprietà personalizzate.

Esistono alcune limitazioni di ciò che viene passato alle macchine Puppet in Linux. Le proprietà personalizzate nelle risorse host e nell'agente Puppet vengono passate alle macchine virtuali Puppet. Le proprietà personalizzate nelle risorse di rete non vengono passate alla macchina virtuale. Gli elementi passati includono proprietà semplici, proprietà booleane, nonché tipi personalizzati denominati e complessi come le mappe nidificate con array.

L'esempio seguente mostra come è possibile richiamare varie risorse personalizzate su risorse host:

resources:
  Puppet-Host:
    type: Cloud.AWS.EC2.Instance
    properties:
      customer_specified_property_on_ec2_resource: "property"
      customer_specified_property_on_network_resource_that_should_also_be_a_fact_and_is_boolean: true
      CustomerNameStuff: "zone A"
      try_map:
      key: value
      keytwo: value
      nested_array:
        - one
        - two
        - true
      try_array:
        - one
        - two
        -three:
           inner_key: value

Se un comando di rimozione di Puppet causa errori, nella maggior parte dei casi vRealize Automation ignorerà gli errori di rimozione dei nodi e procederà con l'eliminazione del nodo. Anche se non viene trovato un certificato per un nodo specifico, vRealize Automation procederà con l'eliminazione. Se vRealize Automation non è in grado di procedere con l'eliminazione del nodo per un motivo qualsiasi, è possibile fare clic su Elimina nel menu Azioni della pagina Distribuzioni per aprire una finestra di dialogo che consentirà di procedere con l'eliminazione del nodo. Viene eseguito un workflow simile quando si rimuove un'integrazione di Puppet da un modello cloud e quindi si applica il modello alla distribuzione. Questo workflow attiva un'operazione di rimozione del nodo gestita come descritto in precedenza.