本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 Puppet Master 添加要管理的节点
重要
AWS OpsWorks for Puppet Enterprise不再接受新客户。现有客户在 2024 年 3 月 31 日之前不会受到影响,届时该服务将不可用。我们建议现有客户尽快迁移到其他解决方案。有关更多信息,请参阅 AWS OpsWorks for Puppet Enterprise 生命周期终止常见问题解答 和 如何将 OpsWorks for Puppet Enterprise 服务器迁移到 Amazon Elastic Cloud (Amazon EC2):
添加节点的推荐方法是使用 AWS OpsWorks associateNode()
API。Puppet Enterprise Master 服务器托管您用来在要管理的节点上安装 Puppet 代理软件的存储库,无论这些节点是在本地物理计算机上还是在虚拟机上。在启动过程中,一些操作系统的 Puppet 代理软件将安装到 OpsWorks for Puppet Enterprise 服务器上。下表显示了启动时可在 OpsWorks for Puppet Enterprise 服务器上使用的操作系统代理。
预安装的操作系统代理 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
支持的操作系统 | 版本 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ubuntu | 16.04, 18.04, 20.04 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Red Hat Enterprise Linux (RHEL) | 6, 7, 8 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows | 64 位版本的所有 Puppet 支持的 |
对于其他操作系统,您可以将 puppet-agent
添加到您的服务器。请注意,系统维护将删除您在启动后添加到服务器的代理。虽然大多数运行已删除代理的现有附加节点将继续签入,但运行 Debian 操作系统的节点会停止报告。建议您在运行操作系统的节点上手动安装 puppet-agent
,未针对这些节点在 OpsWorks for Puppet Enterprise 服务器上预安装代理软件。有关如何使 puppet-agent
适用于面向带其他操作系统的节点的服务器的详细信息,请参阅 Puppet Enterprise 文档中的安装代理
有关如何通过填充 EC2 实例用户数据来自动将节点与 Puppet Master 关联的信息,请参阅自动添加节点于 OpsWorks for Puppet Enterprise。
运行 associateNode()
API 调用
在通过安装 puppet-agent
添加节点后,节点会将证书签名请求 (CSR) 发送到 OpsWorks for Puppet Enterprise 服务器。您可以在 Puppet console;中查看 CSR。有关节点 CSR 的更多信息,请参阅 Puppet Enterprise 文档中的管理证书签名请求associateNode()
API 调用将处理节点 CSR 并将节点与服务器关联。以下示例说明如何在 AWS CLI 中使用此 API 调用以关联单个节点。您需要节点发送的 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 for Puppet Enterprise。
添加本地节点的注意事项
在本地计算机或虚拟机上安装 puppet-agent
后,您可以使用两种方式之一将本地节点与您的 OpsWorks for Puppet Enterprise Master 关联。
-
如果某个节点支持安装 AWS 开发工具包
、AWS CLI 或 AWS Tools for PowerShell ,您可以使用推荐的方法关联节点,即运行 associateNode()
API 调用。您首次创建 OpsWorks for Puppet Enterprise Master 时下载的初学者工具包会显示如何使用标签将角色分配到节点。在将节点与 Puppet Master 关联的同时,您可以通过在 CSR 中指定可信事实来应用标签。例如,初学者工具包中随附的演示控制存储库被配置为使用标签pp_role
将角色分配到 Amazon EC2 实例。有关如何将标签作为可信事实添加至 CSR 的更多信息,请参阅 Puppet 平台文档中的扩展请求 (永久证书数据)。 -
如果该节点无法运行 AWS 管理或部署工具,您仍然可以按向任何非托管 Puppet Enterprise Master 注册该节点的方式向您的 OpsWorks for Puppet Enterprise Master 注册该节点。如本主题中所述,安装
puppet-agent
会向 OpsWorks for Puppet Enterprise Master 发送 CSR。授权 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) 攻击。
-
登录 Puppet Enterprise 控制台。
-
依次选择 Configure (配置)、Classification (分类)、PE Master、Configuration (配置) 选项卡。
-
在 Classification (分类) 选项卡上,找到类 puppet_enterprise::profile::master。
-
将 allow_unauthenticated_ca 参数的值设置为 true。
-
保存您的更改。您的更改将在下一次运行 Puppet 时应用。您可以允许更改在 30 分钟后生效(并添加本地节点),也可以在 PE 控制台的 Run (运行) 部分中手动启动 Puppet 运行。
更多信息
访问学习 Puppet 教程网站