gpt4 book ai didi

puppet 应用错误 : Could not find default node or by name with 'uys0115' on node uys0115

转载 作者:行者123 更新时间:2023-12-04 15:23:05 26 4
gpt4 key购买 nike

我已经在两个节点上安装了puppet,服务器节点主机名是“uys0115”,cient节点主机名是“uys0119”,服务器节点已经签名了客户端节点。当我执行命令时:puppet cert list --all , 我们可以看到:

+ "uys0115" (24:55:95:77:8E:60:33:77:C8:D4:74:EA:01:21:BD:5A)
+ "uys0119" (86:53:1B:81:E5:4F:88:23:E8:34:E1:AB:03:D4:AE:7C)

puppet主目录是/etc/puppet/,我写了一个例子,文件的组织如下:
/etc/puppet/--
|-/manifests/site.pp
|-/modules/test/--
|-/files/text.txt
|-/manifests/init.pp
|-/manifests/test.pp
/etc/puppet/modules/test/manifests/test.pp中的代码是:
class test1 {
package { "bison":
ensure=>"installed",
}
exec { "puppet test":
command=>"/bin/touch /tmp/puppet-test",
}
file { "/tmp/test.txt":
ensure => "present",
source => "puppet:///modules/test/test.txt"
}
}

/etc/puppet/modules/test/manifests/init.pp 中的代码只是 import "*" ;
/etc/puppet/manifests/site.pp 中的代码如下:
import "test"
node default {
include "test1"
}

当我在客户端节点 uys0119 中执行命令 puppet agent --test --server uys0115 .
它执行成功并在目录/tmp/中创建了两个文件puppet-test 和test.txt。
在服务器节点中,当我执行命令时 puppet apply site.pp ,它也执行成功并创建了两个文件。但是,终端输出了两条警告消息:
warning: Could not retrieve fact fqdn
warning: Host is missing hostname and/or domain: uys0115

当我更改了 /etc/puppet/manifests/site.pp 中的代码时如下:
import "test"
node "uys0119" {
include "test1"
}

并执行命令 puppet apply site.pp在服务器节点中,它失败并输出错误消息:
warning: Could not retrieve fact fqdn
warning: Host is missing hostname and/or domain: uys0115
warning: Host is missing hostname and/or domain: uys0115
Could not find default node or by name with 'uys0115' on node uys0115

但是客户端节点可以成功执行命令 puppet agent --test --server uys0115也。有人能解释一下吗?
如果我想服务器节点向客户端节点发送一些响应并驱动一些客户端节点响应服务器并产生结果。使用 puppet 的时候怎么办?有人可以举个例子吗?非常感谢!!!

最佳答案

服务器 puppet 同时充当 puppet master 和 puppet 节点。

当您编辑 site.pp 时,如下所示:

import "test"
node default {
include "test1"
}

所有连接到 puppet master 的 puppet 节点都将执行类“test1”中定义的操作。所以你在 uys0115 中都找到了两个文件和 uys0119 (视为 puppet 节点)。

将您的 site.pp 更改为以下内容时:
import "test"
node "uys0119" {
include "test1"
}

puppet 节点 uys0115在 site.pp 中找不到它的定义(因为它只定义了 uys0119 )和 puppet master 输出错误信息如下:
Could not find default node or by name with 'uys0115' on node uys0115

下面是一个修改过的site.pp可以消除这个错误:
import "test"
node "uys0119" {
include "test1"
}
node "uys0115" {
include "test1"
}

在puppet主从模式下,最好使用fqdn,比如 uys0115.localdomain ,则不会显示以下警告
warning: Host is missing hostname and/or domain: uys0115

关于 puppet 应用错误 : Could not find default node or by name with 'uys0115' on node uys0115,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20208349/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com