为 Puppet Master 添加要管理的节点 - AWS OpsWorks

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为 Puppet Master 添加要管理的节点

重要

该 AWS OpsWorks for Puppet Enterprise 服务于 2024 年 3 月 31 日终止,新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问,请通过 re AWS : Post 或通过 Pre mium Su AWS pp ort 与 AWS Support 团队联系。

添加节点的推荐方法是使用 AWS OpsWorks associateNode() API。Puppet Enterprise Master 服务器托管您用来在要管理的节点上安装 Puppet 代理软件的存储库,无论这些节点是在本地物理计算机上还是在虚拟机上。作为启动过程的一部分,适用于某些操作系统的 Puppet 代理软件安装在 OpsWorks Puppet Enterprise 服务器上。下表显示了 Puppet Enterprise OpsWorks 服务器启动时可用的操作系统代理。

预安装的操作系统代理
支持的操作系统 版本
Ubuntu 16.04、18.04、20.04
Red Hat Enterprise Linux (RHEL) 6、7、8
Windows 64 位版本的所有 Puppet 支持的 Windows 版本

对于其他操作系统,您可以将 puppet-agent 添加到您的服务器。请注意,系统维护将删除您在启动后添加到服务器的代理。虽然大多数运行已删除代理的现有附加节点将继续签入,但运行 Debian 操作系统的节点会停止报告。我们建议您在运行操作系统的节点puppet-agent上手动安装,而您 OpsWorks 的 puppet Enterprise 服务器上未预装代理软件。有关如何使 puppet-agent 适用于面向带其他操作系统的节点的服务器的详细信息,请参阅 Puppet Enterprise 文档中的安装代理

有关如何通过填充 EC2 实例用户数据来自动将节点与 Puppet Master 关联的信息,请参阅 OpsWorks 为 Puppet Enterprise 自动添加节点

运行 associateNode() API 调用

通过安装添加节点后puppet-agent,节点会向 Puppet Enterprise 服务器发送证书签名请求 (CSR)。 OpsWorks 您可以在 Puppet console;中查看 CSR。有关节点 CSR 的更多信息,请参阅 Puppet Enterprise 文档中的管理证书签名请求。运行 puppet Enterprise associateNode() API 调用会处理节点 CSR,并将该节点与您的服务器关联起来。 OpsWorks 以下是如何在中使用此 API 调用关联单个节点的 AWS CLI 示例。您需要节点发送的 PEM 格式的 CSR;您可以从 Puppet 控制台获取它。

aws opsworks-cm associate-node --server-name "test-puppet-server" --node-name "node or instance ID" --engine-attributes "Name=PUPPET_NODE_CSR,Value='PEM_formatted_CSR_from_the_node'

有关如何使用 associateNode() 自动添加节点的更多信息,请参阅 OpsWorks 为 Puppet Enterprise 自动添加节点

添加本地节点的注意事项

在本地计算机或虚拟机puppet-agent上安装后,您可以使用两种方式中的任何一种将本地节点与 for Puppet Enterprise OpsWorks 主节点相关联。

  • 如果某个节点支持安装 AWS 开发工具包AWS CLIAWS Tools for PowerShell ,您可以使用推荐的方法关联节点,即运行 associateNode() API 调用。首次创建 Puppet Enterpr OpsWorks ise 大师版时下载的入门套件展示了如何使用标签为节点分配角色。在将节点与 Puppet Master 关联的同时,您可以通过在 CSR 中指定可信事实来应用标签。例如,初学者工具包中随附的演示控制存储库被配置为使用标签 pp_role 将角色分配到 Amazon EC2 实例。有关如何将标签作为可信事实添加至 CSR 的更多信息,请参阅 Puppet 平台文档中的扩展请求 (永久证书数据)

  • 如果该节点无法运行 AWS 管理或开发工具,你仍然可以在你的 Puppet Enterprise 主节点中注册该节点,就像向任何非托管的 Puppet Enterprise 主节点注册一样。 OpsWorks 如本主题所述,安装puppet-agent会向 Puppet Enterprise 主服务器发送一个 CSR。 OpsWorks 授权 Puppet 用户可以手动签署 CSR,或通过编辑存储在 Puppet Master 上的 autosign.conf 文件配置 CSR 的自动签署。有关配置自动签署和编辑 autosign.conf 的更多信息,请参阅 Puppet 平台文档中的 SSL 配置:自动签署证书请求

要将本地节点与 Puppet Master 关联,并允许 Puppet Master 接受所有 CSR,请在 Puppet Enterprise 控制台中执行以下操作。控制此行为的参数为 puppet_enterprise::profile::master::allow_unauthenticated_ca

重要

出于安全考虑,建议不要启用 Puppet Master 来接受自签名 CSR 或所有 CSR。默认情况下,允许未经身份验证的 CSR 将使 Puppet Master 可供任何人访问。默认情况下,将证书请求上传设置为启用会使您的 Puppet Master 易受拒绝服务 (DoS) 攻击。

  1. 登录 Puppet Enterprise 控制台。

  2. 依次选择 Configure (配置)Classification (分类)PE MasterConfiguration (配置) 选项卡。

  3. Classification (分类) 选项卡上,找到类 puppet_enterprise::profile::master

  4. allow_unauthenticated_ca 参数的值设置为 true

  5. 保存您的更改。您的更改将在下一次运行 Puppet 时应用。您可以允许更改在 30 分钟后生效(并添加本地节点),也可以在 PE 控制台的 Run (运行) 部分中手动启动 Puppet 运行。

更多信息

访问 Le arn Puppet 教程网站,详细了解如何使用 OpsWorks Puppet Enterprise 服务器和 Puppet Enterprise 控制台功能。