2012-12-17 8 views
11

appena iniziato con Puppet, davvero nuovo in questo mondo.Marionetta - come applicare il modulo al nodo client fantoccio?

ho

  • CentOS 6 Puppet Master
  • CentOS 6 Puppet client

in Master hanno un modulo:

puppet module list 
/etc/puppet/modules 
âââ mstanislav-yum (v1.0.0) 

Quindi voglio applicare lo stesso modulo il mio cliente fantoccio ma non posso o non so perché

[email protected]: puppet agent --test 
Info: Retrieving plugin 
Info: Caching catalog for puppetclient 
Info: Applying configuration version '1355737643' 
Finished catalog run in 0.10 seconds 

, ma non ci sono eventuali modifiche al client: -/

Qualche idea?

risposta

7

Non hai dichiarato il modulo (assegnato al vostro nodo) ancora ...

aggiungere questo alla site.pp:

node 'fqdn of client' { 
    include yum 
} 

Quindi, è possibile eseguire puppet agent -t vedere in azione.

3

è possibile utilizzare il seguente comando per visualizzare i dettagli di uscita

agente fantoccio --test --trace

1

Si potrebbe provare la modalità --noop (modalità di funzionamento a secco).

puppet agent --server=YOUR_PUPPET_SERVER_NAME --onetime --no-daemonize --verbose --noop 

Questo rivelerebbe i cambiamenti che avrebbe potuto fare, ma fisicamente non cambierà nulla. Rimozione --noop farà tutte quelle modifiche.

Controllare il documento per la spiegazione di altre opzioni nel comando precedente. http://docs.puppetlabs.com/man/agent.html

1

I due metodi principali per applicare un modulo ad un nodo devono aggiungere una delle seguenti operazioni per site.pp

node 'node <certname> (normally the fqdn)' { 
    require <module name> 
} 

o

node 'node's <certname>' { 
    include <module name> 
} 

Poi entrano nel nodo puppet agent --test

require è come include ma crea relazioni di dipendenza e consente alle stesse classi di dichiararle più di una volta, il che è positivo se si desidera nt classi di ruolo sovrapposte.

1
  1. installare il modulo dal fantoccio forgiare
  2. Aprire la cartina.pp e aggiungere le seguenti righe
node default { 
     # include module_name 
     include apache 
} 

quindi eseguire il seguente su di voi agente fantoccio.

agente sudo fantoccio --test

2

tenta di utilizzare i file Hiera e YAML, penso che sia molto più flessibile e meglio organizzato.

Modificare il file site.pp:

node "default" { 
    hiera_include('classes') 
} 

Dopo di che è possibile chiamare le classi in ogni del file node.yaml specifico con semplice:

classes: 
    -class1 
    -class2 

Io lo utilizzo su Ubuntu , funziona bene.

1

Se la dichiarazione del nodo è stata aggiunta in un'altra posizione che non è site.pp (che è il modo consigliato di farlo), quindi ricordare di aggiungere la configurazione "import" a site.pp che farebbe riferimento al manifest del nodo .

Ecco come appare la mia configurazione. manifesta principale DIR con i nodi DIR e il file site.pp:

drwxr-xr-x. 3 root root 4096 May 19 07:23 nodes 
-rw-r--r--. 1 root root 62 Jun 4 16:31 site.pp 

Questa è la dichiarazione del nodo nel mio nodi DIR:

node 'fqdn of client' { 
    include yum 
} 

Infine, site.pp nella principale DIR manifesta sarebbe importare il nodo come segue:

import 'nodes/*.pp' 

node default { } 
Problemi correlati