web-dev-qa-db-fra.com

L'agent de marionnettes ne trouve pas le serveur

Je suis novice en marionnette, mais je la relève rapidement. Aujourd'hui, je rencontre un problème lorsque j'essaie d'exécuter ce qui suit:

$ puppet agent --no-daemonize --verbose --onetime

**err: Could not request certificate: getaddrinfo: Name or service not known
Exiting; failed to retrieve certificate and waitforcert is disabled**

Il semblerait que l'agent ne sache pas à quel serveur se connecter. Je pourrais simplement spécifier --server sur la ligne de commande, mais cela ne me servira à rien si cela fonctionne en tant que démon en production. Je spécifie donc le nom du serveur dans /etc/puppet/puppet.conf comme suit:

[main]
    server = puppet.<my domain>

Je ai ai une entrée DNS pour puppet.<my domain> et si je Dig puppet.<my domain>, je vois que le nom est résolu correctement.

Toute la documentation de marionnettes que j’ai lue indique que l’agent tente de se connecter à un maître de marionnettes à puppet par défaut et que vous avez le choix entre une supercherie de fichier hôte ou une action correcte, créez un CNAME dans DNS et éditez le fichier puppet.conf en conséquence. ai fait.

Alors qu'est-ce qui me manque? Toute aide est grandement appréciée!

23
Kent Rancourt

D'oh! Besoin de Sudo pour le faire! Ensuite, tout fonctionne.

56
Kent Rancourt

Je devais utiliser le drapeau --server:

Sudo puppet agent --server=puppet.example.org
3
bmaupin

Dans mon cas, je recevais la même erreur, mais cela était dû au certificat qui devait être signé sur le noeud du serveur puppetmaster.

pour vérifier que les certificats en attente sont exécutés comme suit:

liste de marionnettes

"node.domain.com" (SHA256) 8D: E5: 8A: 2 ******* "

signer le certificat au noeud:

signe de marionnette noeud.domaine.com

0
Vadim Sluzky

J'ai eu la même erreur, mais j'utilisais les deux logiciels d'apprentissage de la marionnette et j'essayais d'exécuter la commande 'test de l'agent de la marionnette'. 

J'ai résolu le problème en ouvrant le fichier/etc/hosts sur le maître et l'agent vm et la ligne 

***.***.***.*** learn.localdomain learn puppet.localdomain puppet

L'adresse IP (les astérisques) était à l'origine un nombre aléatoire. Je devais changer ce numéro sur les deux vm pour qu'il s'agisse de l'adresse IP du nœud maître.

Je conseille donc aux utilisateurs expérimentés de consulter le fichier/etc/hosts pour s’assurer que les adresses IP indiquées ici pour le maître et l’agent correspondent non seulement à l’adresse IP du maître, mais qu’elles sont identiques.

pour les autres noobs comme moi, mon conseil est de lire la documentation plus clairement. C’était une étape du processus de «configuration d’un agent vm» qui m’avait totalement manqué xD 

0
scottyseus

J'ai eu le même problème aujourd'hui sur puppet 2.6 sur CentOS 6.4 Tout ce que j'ai fait pour résoudre le problème a été de vérifier les éléments habituels tels que les hôtes et resolv.conf pour s'assurer qu'ils se déroulaient comme prévu (par rapport à un serveur actif), puis;

  1. Suppression du répertoire/var/lib/puppet du répertoire rm -rf /var/lib/puppet
  2. Effacé le certificat sur le maître de la marionnette puppetca --clean servername
  3. Redémarrage du réseau service network restart
  4. Marionnette re-courue

Même si le fichier resolv.conf était identique au serveur de travail, puppet a mis à jour le fichier resolv.conf et a immédiatement re-signé le certificat et remplacé tous les fichiers lib de la marionnette. 

Tout allait bien après ça. 

0
Chris Gillatt