在 Rundeck 3 中添加远程节点

Posted

技术标签:

【中文标题】在 Rundeck 3 中添加远程节点【英文标题】:Adding a remote node in Rundeck 3 【发布时间】:2019-06-24 04:57:48 【问题描述】:

我是第一次尝试 rundeck (3.0.13)。我已按照此网页中的说明进行操作:https://www.techrepublic.com/article/how-to-add-remote-nodes-to-rundeck/,但不幸的是,它似乎没有创建远程节点。简而言之,步骤是

将密钥添加到具有远程节点的用户名/密码的密钥存储中。 (我把默认存储路径留为“keys”)

创建一个项目,更改 ssh/scp 参数以使用该用户名/密码组合使用密码验证

在项目/etc文件夹中创建一个名为resources.xml的文件,并在其中指定远程节点。

重启rundeck

等待几分钟,该节点应该会在项目的节点页面上可见

很遗憾,这不起作用。我看到的只是默认的本地服务器节点。 (我使用了“选择所有节点”功能,所以不是过滤问题。)

我在日志中没有看到任何错误;我验证我可以使用 ssh 和我提供的凭据从 rundeck 服务器节点登录到远程节点。我的远程节点有一个 IP 地址,但由于这是一个测试,我没有为其创建 DNS 条目。还有什么我可以尝试或查看的诊断信息吗?我什至不确定它是否命中了 resources.xml 文件。

更新

我能够通过在项目创建后使用 GUI 加载 resources.xml 文件来完成这项工作。

在教程中,作者把这个文件放到项目的/etc下,rundeck就找到了。相反,如果将相同的 resources.xml 文件指定为节点的“文件”源,则会加载。

具有讽刺意味的是,在日志中没有看到任何错误是最大的线索。

【问题讨论】:

【参考方案1】:

我遇到了同样的问题,我解决了如下问题:

    在项目文件夹/etc文件夹中添加一个名为resources.xml的文件。 (如果它不存在,创建一个)。它应具有以下内容:
<?xml version="1.0" encoding="UTF-8"?>

<project>
  <node name="somename" description="Rundeck 1" tags="" hostname="xx.xx.xx.xx" osArch="amd64" osFamily="unix" osName="Linux" osVersion="3.10.0-514.el7.x86_64" username="xyz"/>
</project>
    通过UI --&gt; edit nodes进入项目设置 从“文件”类型添加源。 格式:选择resourcexml。 文件路径:使用pwd获取路径,最后还要包含/resources.xml文件名,如/home/xxx/rundeck/projects/test/etc/resources.xml 选择生成 保存并重新启动 rundeck

【讨论】:

以上是关于在 Rundeck 3 中添加远程节点的主要内容,如果未能解决你的问题,请参考以下文章

新远程节点上的 Rundeck 身份验证失败

rundeck基本使用

如何将节点特定的 SSH 密钥与 Rundeck AWS EC2 资源插件一起使用?

rundeck自动化运维

Rundeck部署

Rundeck部署和基本使用