Utilizzare Puppetdb per la variabile ENC?


0

Sto leggendo la documentazione del burattino sull'aggiunta di un fatto personalizzato . La maggior parte delle informazioni sembrano legate alla creazione di un modulo che gira sull'agente.

Nel mio caso voglio solo una semplice variabile d'ambiente che potrei impostare dal master per ciascun nodo. Quindi il mio ENC farebbe una query PuppetDb per vedere quale ambiente dovrebbe servire.

Posso farlo o tutti i fatti provengono dall'agente?


Potresti voler esaminare il modello di ruoli e profili, come unico modo per definire ruoli specifici all'interno della tua ENC. L'esempio usa hiera, ma non dovrebbe essere troppo difficile da convertire. Una delle guide è a docs.puppet.com/pe/2017.1/r_n_p_full_example.html
Jenos,

Che ENC stai usando? Tutti i fatti provengono dall'agente, ma a seconda della ENC potrebbero esserci altri modi per ottenere informazioni pertinenti.
Yozomiri,

@yozomiri a questo punto il mio ENC è solo uno script di shell ma sarei aperto all'uso di un framework.
Philip Kirkbride,

Risposte:


1

Posso farlo,

Sì, è possibile Si potrebbe creare un fatto personalizzato in un modulo fantoccio, ad esempio eseguire un codice ruby ​​per ottenere la versione del software installato:

module_name / lib / facter / customfact.rb

Facter.add("customfact") do
  setcode do
    123
  end
end

Il codice sopra risiede su Puppetmaster e quando puppetviene eseguito, ad esempio dieci agenti diversi, il risultato, ovvero 123il nome host di ciascun nodo, saranno registrati in PuppetDB e potrebbero essere visualizzati in Puppetboard.

o tutti i fatti provengono dall'agente?

Nessun fatto personalizzato risiede sul Puppetmaster


1

fantoccio factssono sempre le informazioni inviate dall'agente al comandante. Quindi non puoi stabilire un fatto dal lato del burattinaio.

Tuttavia, hai la possibilità di configurare l'ambiente agente con le ricevute delle marionette (ad esempio, usando [puppet_config_providers] [1]).

puppet_config { 'agent/environment':
  value => $::puppet_environment,
}

Tuttavia, questa modifica verrà presa in considerazione solo alla prossima marionetta.

[1] https://forge.puppet.com/camptocamp/puppet_config_providers


Quando cerco "ricevute di marionette" è difficile trovare qualcosa. Ho trovato un modulo fantoccio che possiedi come miglior risultato. Puoi consigliarmi qualche lettura per avere maggiori informazioni su cosa sia una ricevuta?
Philip Kirkbride,

1
"ricevuta" è un modo per nominare il "codice fantoccio", o file con .ppestensione.
Saïmonn,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.