2016-11-27 1 views
0

Richtig, ich habe Puppet für ca. verwendet. 4 Stunden, also habe eine Frage von insgesamt N000b. Ich habe heruntergeladen und installiert ein Puppen Modul:Puppet-Modul Verwendung

puppet module install resolv_conf

Alles schön und gut. Es hat das Modul installiert in:

/home/user/.puppet/modules/, wieder alles gut und gut.

Das Modul wird angezeigt, wenn ich puppet module list ausführen, was ich vermute es ist.

Also meine Frage ist, wie verwende ich das Modul?

ich, dass irgendwo muss ich ein Manifest hinzufügen,

class { 'resolv_conf': nameservers => ['192.168.0.254', '8.8.8.8'], }

aber ich gehe davon aus, dass ich nicht hinzufügen, dass in der

/home/user/.puppet/modules/resolv_conf/manifests/init.pp Datei.

Ich habe versucht, einen Ordner und init.pp Datei

/etc/puppet/modules/resolv_conf/manifests

und hinzugefügt, um die Klasse, um es hier zu schaffen, aber ich bekomme

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Puppet::Parser::AST::Resource failed with error ArgumentError: Could not find declared class resolv_conf at /etc/puppet/modules/resolv_conf/manifests/init.pp:4 on node rarity.home

So ein bisschen ratlos ich bin . Kann mir eine gute Seele in die richtige Richtung zeigen?

fanks :)

+0

Dies ist eine sehr breite Frage. Du vermisst viele Schritte, wie zum Beispiel das Einrichten eines Puppenspielers und das Definieren deines $ modulepath usw. Ich schlage vor, dass du versuchst, die Puppen-Lern-VM zu durchlaufen: https://puppet.com/download-learning-vm und bekommen einige der Grundlagen unten. – jaxxstorm

+0

Danke @Frap. Folge diesem https://help.ubuntu.com/lts/serverguide/puppet.html und habe das Master-Setup und den Agenten auf einem anderen Rechner laufen und Marionette stellt sicher, dass einige Dienste laufen. Ich habe das getestet, indem ich diese Dienste gestoppt habe und dann den Agenten gestartet habe, und es startet sie, also sieht es so aus, als würde Marionette OK laufen. Es war nur, wie man das heruntergeladene Modul "einbindet", das ich nicht bekomme, und die Tatsache, dass es an /home/user/.puppet anstatt an/etc/puppet/modules ging. Vielleicht $ modulpath ist, was ich sehen muss. Prost :) –

+0

In diesem Fall kann ich helfen, beantworten eingehenden .. – jaxxstorm

Antwort

3

So standardmäßig der puppet module Befehl Module in ein lokales Verzeichnis heruntergeladen werden.

Angenommen, Ihre Master ordnungsgemäß ausgeführt wird, müssen Sie das Modul in Ihrem $modulepath installieren, können Sie Ihre $modulepath auf dem Master finden, indem Sie:

puppet config print modulepath 

die je nach Ihrer Version von Puppet (ich bin v4 ausgeführt wird, wenn Sie also auf v3 sind es etwas anders sein kann), so etwas wie dies zurück:

/etc/puppetlabs/code/environments/production/vendor:/etc/puppetlabs/code/environments/production/modules:/etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules 

Installieren Sie das Modul in eine dieser Verzeichnisse den Befehl Puppet-Modul mit etwa so:

puppet module install -i /etc/puppetlabs/code/modules 

Nun wird dein Herr verstehen und in der Lage sein zu resolv_conf Modul zu lesen, aber Sie müssen es zu einem Knoten gelten.Um das zu tun, dass Sie bis node definitions

festlegen müssen also innerhalb eines Ihrer $modulepaths Sie ein Verzeichnis manifests enthält ein einziges Manifest haben müssen, site.pp, die die „main manifest

Im Inneren genannt wird, Erstellen Sie eine Knotendefinition für Ihren Agenten, die der im Beispiel ähnelt:

node 'www1.example.com' { 
    include resolv_conf 
} 

Dies ist die einfachste Einrichtung, die Sie haben können. Einige weitere Lektüre:

  • r10k das Herunterladen von Modulen für Sie
  • a control repo automatisieren kann, ist eine vorgeschlagene Art und Weise von Auslegen Ihre Puppe Repo
  • ein ENC ist eine bessere Art und Weise Ihre Knoten der Klassifizierung als mit der site.pp

Viel Glück!

+0

Brilliant! Danke, Mann. Ich musste wieder anfangen, als ich übermütig wurde und Marionette 3 entfernte und versuchte Marionette 4 zu installieren und ich brach alles. Es stellte sich heraus, dass es auch ein Problem mit dem Modul gab, was nicht hilfreich war. Habe es jetzt funktioniert, also vielen Dank. Ich werde die zusätzliche Lektüre auch durchgehen. –