使用初学者工具包配置 Puppet Master - AWS OpsWorks

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

使用初学者工具包配置 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 服务器联机之前下载这些项;新服务器联机之后,下载按钮将不可用。


            OpsWorks for Puppet Enterprise 新服务器属性页面
  • Puppet Master 的登录凭证。您将使用这些凭证登录用于执行大多数节点管理工作的 Puppet Enterprise 控制台。AWS OpsWorks 不会保存这些凭证;这是最后一次可以查看和下载它们的机会。如果需要,您可以在登录之后更改随这些凭证提供的密码。

  • 初学者工具包。初学者工具包中包含一个自述文件,该文件包含相关信息、描述如何完成设置的示例以及 Puppet Enterprise 控制台的管理员凭证。每次下载初学者工具包时,将生成新凭证,并且旧凭证将失效。

先决条件

  1. 当服务器创建仍在进行时,下载 Puppet Master 的登录凭证并将其保存到安全而方便的位置。

  2. 下载初学者工具包,将初学者工具包 .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-name server_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-repocontrol-repo-examplecontrol-repo 文件夹包含一个 production 分支,它与您在 Puppet GitHub 存储库中看到的分支一样。control-repo-example 文件夹也包含一个 production 分支,该分支包含用于通过测试网站设置 Apache 服务器的示例代码。

  1. 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 production

    Puppet 的 Code Manager 使用 Git 分支作为环境。默认情况下,所有节点都在生产环境中。

    重要

    请不要推送到 master 分支。为 Puppet Master 保留 master 分支。

  2. 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 步:使用自动化关联脚本创建实例