Ich beginne mit Puppet auf ec2 anhand der folgenden Anleitung.
https://help.ubuntu.com/12.04/serverguide/puppet.html
Im allerletzten Schritt, wenn ich versuche, den Puppen-Client vom Puppenmeister zu signieren, erhalte ich die folgende Fehlermeldung
root@ip-10-248-27-66:/home/ubuntu# puppetca --sign ec2-54-245-56-210.us-west-2.compute.amazonaws.com
err: Could not call sign: Could not find certificate request for ec2-54-245-56-210.us-west-2.compute.amazonaws.com
Hier ist die Ausgabe des /etc/hosts
Puppenmeisters
127.0.0.1 localhost puppetmaster
10.248.34.162 ec2-54-245-56-210.us-west-2.compute.amazonaws.com puppet
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
Hier ist die Ausgabe von /etc/hosts
auf dem Puppen-Client
127.0.0.1 localhost
10.248.27.66 ec2-50-112-220-110.us-west-2.compute.amazonaws.com puppetmaster
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
Ich habe den Rat zur Fehlerbehebung hier https://serverfault.com/a/388973/85577 befolgt
Läuft der Master?
root@ip-10-248-27-66:/home/ubuntu# service puppetmaster status
* master is running
Wird der Hostname "Puppet" oder "Puppet.abc.com" vom Agenten aufgelöst?
Wie würde ich das überprüfen? Telnet ich einfach puppetmaster
an Port 8140 (der Host-Befehl löst es nicht auf, der Telnet-Befehl jedoch)?
root@ip-10-248-34-162:/home/ubuntu# host puppetmaster
Host puppetmaster not found: 3(NXDOMAIN)
Ist der TCP-Port 8140 auf dem Master vom Agenten aus erreichbar (versuchen Sie: Telnet Puppet 8140)?
root@ip-10-248-34-162:/home/ubuntu# telnet puppetmaster 8140
Trying 10.248.27.66...
Connected to ec2-50-112-220-110.us-west-2.compute.amazonaws.com.
Escape character is '^]'.
Was sagt Syslog auf dem Agenten?
Apr 11 17:57:41 ip-10-248-34-162 puppet-agent[3897]: Could not request certificate: getaddrinfo: Name or service not known
Versuchen Sie es mit Puppet Agent - Test auf dem Agenten, der versucht, eine Verbindung zum Master herzustellen, und im Vordergrund bleibt, um die Ausgabe anzuzeigen.
root@ip-10-248-34-162:/home/ubuntu# puppet agent --test
err: Could not request certificate: getaddrinfo: Name or service not known
Exiting; failed to retrieve certificate and waitforcert is disabled
BEARBEITEN
Vielen Dank, dawud, damit die Einträge in /etc/hosts
diesem Befehl korrekt sind
$ getent hosts puppetmaster
10.248.27.66 ec2-50-112-220-110.us-west-2.compute.amazonaws.com puppetmaster
Wenn ich dies jedoch versuche, wird eine Fehlermeldung angezeigt
$ puppet agent --test --waitforcert 5
err: Could not request certificate: Connection refused - connect(2)
err: Could not request certificate: Connection refused - connect(2)
quelle
/etc/hosts
auf beiden Maschinen so hinzugefügt10.248.27.66 ec2-50-112-220-110.us-west-2.compute.amazonaws.com puppetmaster
,dig puppetmaster
aber nicht gelöst. Nurdig ec2-50-112-220-110.us-west-2.compute.amazonaws.com
Entschlüssen. Außerdem wird ein Syntaxfehler angezeigt# puppet agent --test --waitforcert
. Irgendwelche Ratschläge zum weiteren Vorgehen?ping
odergetent
die Puppenmeisteradresse aufzulösenerr: Could not request certificate: Connection refused - connect(2)
beim Ausführen$ puppet agent --test --waitforcert 5
. Irgendwelche Ideen, was ich sonst noch versuchen könnte?Eines der Dinge, die in der Diskussion hier erwähnt und in der vorherigen nicht erwähnt wurden, ist die Antwort, dass sich Ports manchmal seltsam verhalten können. In meinem Fall wurde trotz des Öffnens des Ports 8140 in iptables die Fehlermeldung angezeigt, dass keine Verbindung hergestellt werden konnte. Was mir geholfen hat, sind folgende Befehle:
Verwenden Sie natürlich,
sudo
wenn der obige Befehl bei Ihrem Benutzer fehlschlägt. Ich habe sogar die beiden oben genannten Befehle in das Provisionoing-Skript der Box eingefügt, damit die iptables gelöscht werden, wenn ich die Boxen anhalte / neu erstelle.quelle
Ich hatte die gleichen Probleme und löste sie mit verschiedenen Verbesserungen.
Gleicher Fehler:
Ich habe alles versucht, was Iptables, Ports, Firewalls, die Neuinstallation von Agenten (nicht Master). Dann fing ich an, mehr zu suchen und fand etwas in den Protokolldateien als:
Dies gab mir den Hinweis auf Zertifikate, die auf dem Master-Server vorhanden waren. Ich habe den Hauptschlüssel neu erstellt und es hat bei mir funktioniert.
Achtung: Dies war die einzige Testumgebung für mich. Spielen Sie nicht direkt damit in Produktionsumgebungen.
und es löste das Clientverbindungsproblem.
quelle