web-dev-qa-db-ja.com

Puppetエージェントがサーバーを見つけることができません

私は人形は初めてですが、すぐにそれを拾います。今日、私は次を実行しようとすると問題に直面しています:

$ 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**

エージェントはどのサーバーに接続するのかわからないようです。コマンドラインで--serverを指定することもできますが、これが実稼働環境でデーモンとして実行される場合は役に立たないため、代わりに/etc/puppet/puppet.confでサーバー名を指定しますそう:

[main]
    server = puppet.<my domain>

I dopuppet.<my domain>のDNSエントリがあり、Dig puppet.<my domain>の場合、名前が正しく解決されることがわかります。

私が読んだすべてのpuppetドキュメンテーションは、エージェントがデフォルトでpuppetのpuppet masterへの接続を試み、オプションはHost file trickeryまたは正しいことを行い、DNSでCNAMEを作成し、puppetを編集することを述べています。それに応じてconf、私はやった。

だから私は何が欠けていますか?どんな助けも大歓迎です!

24
Kent Rancourt

ど!これを行うにはSudoが必要です!その後、すべてが機能します。

57
Kent Rancourt

--serverフラグを使用する必要がありました。

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

私の場合、私は同じエラーを受け取っていましたが、それはpuppetmasterサーバー上のノードに署名されるべき証明書によるものでした。

保留中の証明書を確認するには、次を実行します。

パペット証明書リスト

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

ノードへの証明書に署名します。

puppet cert sign node.domain.com

0
Vadim Sluzky

実際には同じエラーが発生しましたが、2つの学習puppet vmを使用して、「puppet agent --test」コマンドを実行しようとしました。

マスターとエージェントの両方のvmとラインでファイル/ etc/hostsを開くことで問題を解決しました

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

IPアドレス(アスタリスク)は、もともとは乱数でした。マスターノードのIPアドレスになるように、両方のvmでこの番号を変更する必要がありました。

ですから、経験豊富なユーザーには、/ etc/hostsファイルをチェックして、マスターとエージェントのIPアドレスが一致するだけでなく、マスターのIPアドレスと同じであることを確認することをお勧めします。

私のような他の初心者にとって、私のアドバイスはドキュメントをより明確に読むことです。これは、「エージェントvmのセットアップ」プロセスの1ステップであり、xDを完全に見逃しました

0
scottyseus

puppet 2.6 on CentOS 6.4に同じ問題が今日あったその後;

  1. / var/lib/puppetディレクトリを削除しましたrm -rf /var/lib/puppet
  2. パペットマスターpuppetca --clean servernameの証明書をクリアしました
  3. ネットワークを再起動しましたservice network restart
  4. 操り人形

Resolv.confは動作中のサーバーと同一でしたが、puppetはresolv.confを更新し、すぐに証明書に再署名して、すべてのpuppet libファイルを置き換えました。

その後はすべて順調でした。

0
Chris Gillatt