- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经在一个网络中设置了一个puppet master 和puppet agent 服务器
。我已经从 puppet 主服务器签署了 puppet 代理的证书请求。我正在尝试从 Puppet Master 针对 Puppet 代理服务器运行 list ,但它失败了。两台 Puppet Master 服务器上的 newManifest.p
p 通过其 FQDN 调用 Puppet Agent。两台服务器上的 /etc/hosts
文件都包含两台服务器的 FQDN 条目及其 IP 地址。我可以从另一台服务器 ping 通每台服务器。我可以通过 SSH 从每台服务器连接到另一台服务器。
这两个网络中的所有四台服务器都使用 CentOS 7
作为开源 Puppet version 3.8.4
的操作系统。所有四台机器上的防火墙都已关闭。这些端口在任何中间路径上都没有被阻止:Puppet Master 和 Puppet Agent 服务器之间任一网络上的 22、443、8140 和 61610。
在网络一中,我希望 list 能够编译。他们从来没有。
我尝试使用 sshd_config` 在 Puppet Master 和 Puppet 代理上使用端口 22、443、8140 和 61610。当我从 puppet 大师那里使用它时:
puppet agent -t newManifest.pp --server='foobar.acme.com'
我得到一个错误:
Unable to fetch my node definition, but the agent will continue: Warning: Connection refused - connect(2).
我再次尝试使用 sshdconfig 不专门使用任何端口。我回收了 sshdconfig 服务。我运行相同的命令:
puppet agent -t newManifest.pp --server='foobar.acme.com'
我得到一个不同的错误:
Unable to fetch my node definition, but the agent run will continue: connection refused - connect(2).
然后我尝试了这个命令(没有明确的服务器指定):
puppet agent -t newManifest.pp
这一次,我得到了这个错误:
Unable to fetch my node definition, but the agent will continue: Network is unreachable.
在网络二中,我希望 list 能够工作。他们从来没有。
我尝试通过 sshd_config 在 Puppet Master 和 Puppet 代理上使用端口 22、443、8140 和 61610。当我从 puppet 大师那里使用它时:
puppet agent -t newManifest.pp --server='foobar.acme.com'
我得到一个不同的错误:
Unable to fetch my node definition, but the agent run will continue: SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: unknown protocol.
我再次尝试使用 sshdconfig 不专门使用任何端口。我回收了 sshdconfig 服务。我运行相同的命令:
puppet agent -t newManifest.pp --server='foobar.acme.com'
我得到一个不同的错误:
Unable to fetch my node definition, but the agent run will continue: connection refused - connect(2).
然后我尝试了这个命令(没有明确的服务器指定):
puppet agent -t newManifest.pp
这一次,我得到了这个错误:
Unable to fetch my node definition, but the agent will continue: No route to host - connect(2).
网络一和网络二之间的错误是不同的,除非 sshd_config 没有使用任何特定端口并且编译 list 的命令明确设置了 FQDN。为什么是这样?怎么了?我曾尝试两次设置 Puppet 来修复第一个实例。我无法完全重现第一个网络中的具体问题。
如何让 Puppet Master 服务器编译 list ? puppet 代理人签署了证书。我不明白为什么 list 的编译总是失败。
最佳答案
您至少有两组完全不同的问题。
首先,正如@daxelrod 评论的那样,Puppet 代理并不是那样工作的。主/代理模式的要点是 master 决定节点的配置应该是什么。此外,master 不向 agents 提供 list 文件;相反,它会评估任何必要的 list 和数据,以构建一个供代理应用的资源“目录”。 Master 服务的正是这些目录。
如果您希望代理在任何给定运行中仅应用其配置的一部分,那么您可以使用 --tags
选项来指示它从其目录中选择资源的特定子集。可供选择的标签可以在您的 list 中手动指定,Puppet 会根据资源的声明位置自动使用类名称段标记资源,但这并不能完全按照 list 文件的行进行分解。
如果您真的想将特定的 list 文件应用到您的机器上,那么这些 list 文件及其依赖的任何数据或资源必须存在于目标机器上。在这种情况下,您可以使用 puppet apply
而不是使用代理,正如@daxelrod 观察到的那样。
其次,至于你的网络问题,如果确实如此
The firewalls are turned off on all four machines. These ports are not blocked on any intermediate path: 22, 443, 8140, and 61610 on either network between the Puppet Master and Puppet Agent servers.
正如您所说,关于代理报告的“连接被拒绝”故障,我能看到的唯一其他合理解释是 puppetmaster 实际上并未在代理尝试连接的机器上运行,至少不是在代理尝试连接的端口。这可能是因为某种名称解析问题(即“foobar.acme.com”的解析方式与您预期的不同),因为主服务器被配置为监听与您想象的不同的端口,或者仅仅是因为您这样做了没有启动成功。
“网络无法访问”似乎更容易诊断:如果您没有通过命令行为代理指定服务器,也没有在代理的配置文件中配置服务器,那么 Puppet 会尝试连接到名为“puppet ”。这是为您解析到无法访问的网络上的地址。 (如果代理根本无法解析名称,则消息会有所不同。)
真正有趣的错误消息是 SSL 握手错误:
SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: unknown protocol.
在这种情况下,客户端已成功连接并尝试启动 SSL 握手序列,但它不理解来自服务器的响应。这很可能意味着服务器根本没有向客户端返回 SSL,但我无法猜测它在说什么。
此外,您在问题中多次提到 sshd_config
,好像这与问题有关。但是,除非您正在做一些非常不寻常的事情,否则 sshd
及其任何配置文件都不会参与 Puppet 运行。
总的来说,我倾向于认为您正在处理不正确的期望、对主要系统和支持组件的不了解以及可能是一个过于雄心勃勃的开始。 Puppet 有相当不错的文档,包括 for system installation .如果您从 RPM 安装(可能是 PuppetLabs's ),那么这将为您提供一个良好的开端,但您仍然需要 configure both the master and the agent(s) appropriately .我怀疑你在这里的某个地方掉下来了。
无论如何,一定要尝试小口地做这件事。一个主站和一个代理,在同一个网络上,就像您可以进行主/代理配置一样简单。先让它工作。
关于ruby - 当出现不同的错误时,如何让 Puppet Master 针对 Puppet Agent 节点运行 list ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35166695/
我在 2 个不同的节点中设置了 master-master mysql 复制。假设如果我要再添加一个节点,即 3rd master ,我是否需要在新服务器中拥有与节点 1 和节点 2 中完全相同的数据
我认为我在理解 git 的基本概念方面是正确的。 我已经设置并克隆了一个远程存储库。我还创建了一个服务器端空存储库,并将我的本地存储库链接到它。 我的问题是我不明白: origin/master 与
从概念上讲,Master-Master 复制是如何工作的? 我认为碰撞将是一种需要以某种方式解决的常见事件。 最佳答案 主-主复制(更一般地——多主复制)在概念上的工作原理是假设冲突并不常见,并且只保
众所周知,mysql 是异步复制的。我听说我需要一些额外的插件来做 同步复制。 那么让我们考虑一下异步复制的情况:master 将事件写入其二进制日志,但不知道 master2 是否或何时检索并处理了
我正在寻求有关 MySql Master-Master 配置问题的帮助。 我正在处理由另一名员工设置的服务器配置,该员工现在无法就此事提供任何帮助。这是我第一次体验这样的设置,在做了相当多的研究之后,
尝试使用 HADOOP 运行 HBASE 时出现以下错误HBASE 0.98.xHADOOP 2.4.0 ERROR [main] master.HMasterCommandLine: Mas
停止独立 Spark Master 失败并显示以下消息: $ ./sbin/stop-master.sh no org.apache.spark.deploy.master.Master to sto
我不确定这是否是一个正常的分支场景,但是...... 假设我从 master 创建一个分支,比如分支 C,然后 merge 回其他先前存在的分支,比如分支 A 和 B,回到 master,然后我需要分
我无法推送到我的 git 存储库。 git clone和 git pull工作正常,但 git push不起作用。 我检查了其他答案,如 here尝试了几种方法,例如 git push origin
所以如果我在 master 中做: git checkout -b my-branch 并在那里做几次提交+推送。然后我做: git checkout master git pull 我现在能以某种方
我设置了 2 个 MYSQL 服务器: my.cnf server1: auto_increment_increment = 2 auto_increment_offset = 1 my.cnf se
我想知道一个服务器是否可以同时是slave和master。我们的问题是我们有很多移动单元需要同步到主服务器,但它们只需要主服务器上 100 个表中的 6 个。除了延迟同步和增加数据成本之外,所有额外的
我有主-主 Mysql 复制。每个主控复制其他主控。谁能解释一下为什么该主机上的 log-bin 文件不同? (尺寸差异很小)。谢谢! 最佳答案 嗯。我们决定使用 mysql 5.6 及其功能 - G
我正在努力理解这里的逻辑,如果术语不正确,我深表歉意。 我正在尝试构建一个功能类似于邮件的应用程序,IE: 所有邮箱 > 特定邮箱 > 消息 其中“所有邮箱”和“特定邮箱”占据 Controller
我一直在使用 master 分支进行开发,并希望将其清除为只有发布提交,以及它的用途。如何将所有内容从 master 复制到开发分支,然后重新启动 master? 最佳答案 Create develo
两周前,我创建了一个新分支,我们称它为exp。在此期间,exp 和 master 中都有几次提交。在此期间,exp 尚未更新 master 的更改 现在我想把所有从 exp 到 master 的更改都
我克隆:https://github.com/vy2014/git_lesson.git 然后我做了一些改动,尝试通过命令git push推送到远程服务器,但是错误: Counting objects
有没有好的方法来解释如何在 Git 中解决“![rejected] master -> master (fetch first)'”? 当我使用此命令时 $ git push origin maste
我该怎么办: 1)恢复推送到主(远程)的更改 2)将这些更改移动到单独的分支 3) 稍后将这些更改移回 master 最佳答案 首先做 2),但前提是你真的需要分支。 git branch chang
符号上有什么区别? 在我的一个工作站上,我克隆的 git 存储库显示(master),而另一个工作站则显示(master -> origin) 我还创建了一个新的本地存储库,提交了一个文本文件,提示仍
我是一名优秀的程序员,十分优秀!