2017-02-05 2 views
1

ich folgende Puppet-Version auf CentOS Linux bin mit Release 7.2:Disable Puppet Mittel runinterval

# puppetserver -v 
puppetserver version: 2016.5.0.11 

Ich habe einen Agentenknoten Win und ich könnte später mehr wenige haben. Agent-Version auf Win Knoten:

C:\Windows\system32>puppet --version 
4.8.1 

würde Ich mag die Mittelrunintervaldauerhaft deaktivieren, so kann ich nur Push von meinem Puppet-Server, wenn erforderlich. Ich sah einige Links und versuchte, die folgende Zeile in Puppet Server /etc/puppetlabs/puppet/puppet.conf Datei zu setzen. Ich habe auch den Server neu gestartet, aber der Agent ruft den Katalog ab.

[agent] 
daemonize=false 

Ich möchte auch wissen, ob es möglich ist, runinterval auf bestimmten Knoten nur zu deaktivieren. Wenn ja, wie?

+1

Sie haben eine gute Antwort, die erklärt, wie verhindert werden kann, dass der Agent Kataloganforderungen ausgibt, aber es ist mir unklar, wie Sie irgendeine Art von Push vom Master zu anderen Knoten implementieren. Natürlich nicht über Puppet, es sei denn, dies ist ein PE-Feature, von dem ich nichts weiß. Puppet hat * nie * eine Push-Funktion, obwohl es bis Puppet 4 eine Remote-Trigger-Katalog-Anfrage-Funktion hatte (die die Ausführung des Agenten erforderte, aber nicht unbedingt für die Ausgabe von Kataloganfragen konfiguriert war). –

+0

Obwohl ich nicht auf die Implementierung einging, dachte ich, '' '' '' '' '' '' '' '' '' 'helfen, Änderungen voranzutreiben. Ist das nicht möglich, während der Agentendienst deaktiviert bleibt? – Technext

+1

Mithilfe von MCollective können Agenten bei Bedarf Katalogläufe durchführen. Wenn das Ihren Bedürfnissen dann gut und gut dient. Es ist jedoch technisch kein Push, und es wird nicht von Core-Puppet erleichtert. Diese feinen Unterscheidungen mögen dir nicht wichtig sein. –

Antwort

2

Was Sie im Grunde genommen tun, ist den Marionettenservice zu stoppen. Dies wird erreicht, am einfachsten mit einer Marionette service Ressource:

service { 'puppet': 
    ensure => stopped, 
    enable => false, 
} 

diese auf bestimmte Knoten nur zu tun, nur liefern sie für die entsprechenden Knotendefinitionen in Ihrem Klassifizierer oder Haupt-Website manifestieren:

node /ones_to_disable/ { 
    service { 'puppet': 
    ensure => stopped, 
    enable => false, 
    } 
} 

Diese ist die einfache und gebräuchliche Methode, Push-Style-Puppets zu erstellen und Pull-Stile zu deaktivieren.

+0

Ich sah auch '--no-Client' Option irgendwo, aber ich bin mir nicht sicher, wie kann ich das in der Konfigurationsdatei verwenden und für welche Datei ist dies anwendbar. Ist das ein besserer Ansatz, als den Dienst auf die von Ihnen angegebene Weise zu deaktivieren? – Technext

+0

@Technext Dies ist super einfach, funktioniert sehr gut und erfüllt Ihre Bedürfnisse. Vielleicht gibt es eine noch bessere Lösung als diese, aber ich habe sie nicht gesehen oder in einem Unternehmen umgesetzt, in dem ich an einer Puppet-Implementierung beteiligt war. Wenn Sie versuchen, dies in einer Konfigurationsdatei zu tun, wird es clientseitig und wird Teil des Bootstrap-Prozesses. Diese Methode funktioniert nur automatisch für alle zukünftigen Knotenabonnements, was ein Grund ist, warum wir diese Route gehen. –

+0

Ich verstehe, was Sie versuchen zu erklären. Sogar ich suche nur nach einer serverseitigen Konfigurationsänderung, da es jederzeit einfacher zu pflegen ist. Es scheint, dass "--no-client" eine clientseitige Option ist. Ich nahm es anders an. :) Obwohl Ihre Lösung einfach ist, werde ich es zuerst ausprobieren und dann aktualisieren. – Technext

0

Wenn Sie den Puppet-Agenten auf einem bestimmten Knoten deaktivieren möchten, müssen Sie diesen Befehl verwenden: puppet agent --disable. Sie können einen Grund angeben, warum Sie den Agenten auf einem bestimmten Knoten deaktivieren. Die Nachricht, die Sie angeben könnten, wird beim nächsten Mal gedruckt, wenn jemand puppet agent auf Knoten eingibt.

+0

In beiden Fällen suche ich nach Änderungen, die in der Datei _config vorgenommen werden müssen, nicht in der Befehlszeile. – Technext