本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用初学者工具包配置 Puppet Master
重要
AWS OpsWorks for Puppet Enterprise不再接受新客户。现有客户在 2024 年 3 月 31 日之前不会受到影响,届时该服务将不可用。我们建议现有客户尽快迁移到其他解决方案。有关更多信息,请参阅 AWS OpsWorks for Puppet Enterprise 生命周期终止常见问题解答 和 如何将 OpsWorks for Puppet Enterprise 服务器迁移到 Amazon Elastic Cloud (Amazon EC2):
当 Puppet Master 创建仍在进行中时,服务器的“Properties”页面将在 OpsWorks for Puppet Enterprise 控制台中打开。在您首次使用新 Puppet Master 时,“Properties”页面提示您下载两个必需项。应在 Puppet 服务器联机之前下载这些项;新服务器联机之后,下载按钮将不可用。
-
Puppet Master 的登录凭证。您将使用这些凭证登录用于执行大多数节点管理工作的 Puppet Enterprise 控制台。AWS OpsWorks 不会保存这些凭证;这是最后一次可以查看和下载它们的机会。如果需要,您可以在登录之后更改随这些凭证提供的密码。
-
初学者工具包。初学者工具包中包含一个自述文件,该文件包含相关信息、描述如何完成设置的示例以及 Puppet Enterprise 控制台的管理员凭证。每次下载初学者工具包时,将生成新凭证,并且旧凭证将失效。
先决条件
-
当服务器创建仍在进行时,下载 Puppet Master 的登录凭证并将其保存到安全而方便的位置。
-
下载初学者工具包,将初学者工具包 .zip 文件解压缩到您的工作区目录中。请不要共享您的登录凭证。如果其他用户将管理 Puppet Master,以后可以在 Puppet Enterprise 控制台中将其作为管理员添加。有关如何将用户添加到 Puppet Master 的更多信息,请参阅 Puppet Enterprise 文档中的创建并管理用户和用户角色
。
安装 Puppet Master 证书
要使用 Puppet Master 并添加要管理的节点,您将需要安装其证书。通过运行以下 AWS CLI 命令安装它。您无法在 AWS Management Console中执行此任务。
aws --region
region
opsworks-cm describe-servers --server-nameserver_name
--query "Servers[0].EngineAttributes[?Name=='PUPPET_API_CA_CERT'].Value" --output text > .config/ssl/cert/ca.pem
生成短期令牌
要使用 Puppet API,您必须自行创建短期令牌。此步骤不是使用 Puppet Enterprise 控制台所必需的。通过运行以下命令生成令牌。
默认令牌生命周期为 5 分钟,不过您可以更改此默认值。
puppet-access login --config-file .config/puppetlabs/client-tools/puppet-access.conf --lifetime 8h
注意
由于默认令牌生命周期为 5 分钟,因此,上一个示例命令添加了 --lifetime
参数以将令牌生命周期延长一段时间。您可以将令牌生命周期设置为一个最多为 10 年的周期 (10y
)。有关如何更改默认令牌生命周期的更多信息,请参阅 Puppet Enterprise 文档中的更改令牌的默认生命周期
设置初学者工具包 Apache 示例
在下载并解压缩初学者工具包后,您可以使用示例 control-repo-example
文件夹中的示例分支来在托管节点上配置 Apache Web 服务器。
初学者工具包包含两个 control-repo
文件夹:control-repo
和 control-repo-example
。control-repo
文件夹包含一个 production
分支,它与您在 Puppet GitHub 存储库control-repo-example
文件夹也包含一个 production
分支,该分支包含用于通过测试网站设置 Apache 服务器的示例代码。
-
将
control-repo-example
production
分支推送到 Git remote (Puppet Master 的r10k_remote
URL)。在初学者工具包的根目录中,运行以下项,将r10kRemoteUrl
替换为您的r10k_remote
URL。cd control-repo-example git remote add origin
r10kRemoteUrl
git push origin productionPuppet 的 Code Manager 使用 Git 分支作为环境。默认情况下,所有节点都在生产环境中。
重要
请不要推送到
master
分支。为 Puppet Master 保留master
分支。 -
将
control-repo-example
分支中的代码部署到您的 Puppet Master。这可让 Puppet Master 从 Git 存储库 (r10k_remote
) 下载 Puppet 代码。在初学者工具包的根目录中,运行以下项。puppet-code deploy --all --wait --config-file .config/puppet-code.conf
有关如何将示例 Apache 配置应用于您在 Amazon EC2 中创建的托管代码的更多信息,请参阅本指南中的 第 2 步:使用自动化关联脚本创建实例。