

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

# 使用初学者工具包配置 Puppet Master
<a name="opspup-starterkit"></a>

**重要**  
该 AWS OpsWorks for Puppet Enterprise 服务于 2024 年 3 月 31 日终止，新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问，请通过 re [AWS : Post 或通过 Pre](https://repost.aws/) mium Su [AWS pp](https://aws.amazon.com/support) ort 与 AWS 支持 团队联系。

当 Puppet 大师的创建仍在进行中，服务器的 “属性” 页面将在 Puppet Enterprise 控制台中打开。 OpsWorks 在您首次使用新 Puppet Master 时，“Properties”页面提示您下载两个必需项。应在 Puppet 服务器联机之前下载这些项；新服务器联机之后，下载按钮将不可用。

![\[OpsWorks Puppet Enterprise 的新服务器属性页面\]](http://docs.aws.amazon.com/zh_cn/opsworks/latest/userguide/images/opspup_creatingserver.png)

+ **Puppet Master 的登录凭证。**您将使用这些凭据登录 Puppet Enterprise 控制台，在那里您可以执行大部分节点管理。 OpsWorks 不会保存这些凭据；这是它们最后一次可供查看和下载。如果需要，您可以在登录之后更改随这些凭证提供的密码。
+ **初学者工具包。**初学者工具包中包含一个自述文件，该文件包含相关信息、描述如何完成设置的示例以及 Puppet Enterprise 控制台的管理员凭证。每次下载初学者工具包时，将生成新凭证，并且旧凭证将失效。

## 先决条件
<a name="finish-server-prereqs-puppet"></a>

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

1. 下载初学者工具包，将初学者工具包 .zip 文件解压缩到您的工作区目录中。请不要共享您的登录凭证。如果其他用户将管理 Puppet Master，以后可以在 Puppet Enterprise 控制台中将其作为管理员添加。有关如何将用户添加到 Puppet Master 的更多信息，请参阅 Puppet Enterprise 文档中的[创建并管理用户和用户角色](https://docs.puppet.com/pe/latest/rbac_user_roles.html#add-a-user-to-a-user-role)。

## 安装 Puppet Master 证书
<a name="opspup-post-launch"></a>

要使用 Puppet Master 并添加要管理的节点，您将需要安装其证书。通过运行以下 AWS CLI 命令进行安装。您无法在中执行此任务 AWS 管理控制台。

```
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
```

## 生成短期令牌
<a name="opspup-post-launch-token"></a>

要使用 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 文档中的[更改令牌的默认生命周期](https://puppet.com/docs/pe/2019.8/rbac_token_auth_intro.html#change_the_token_s_default_lifetime)。

## 设置初学者工具包 Apache 示例
<a name="opspup-post-launch-web-server"></a>

在下载并解压缩初学者工具包后，您可以使用示例 `control-repo-example` 文件夹中的示例分支来在托管节点上配置 Apache Web 服务器。

初学者工具包包含两个 `control-repo` 文件夹：`control-repo` 和 `control-repo-example`。该`control-repo`文件夹包含一个`production`分支，该分支与您在 [Puppet GitHub 存储库](https://github.com/puppetlabs/control-repo)中看到的分支没有变化。`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` 分支。

1. 将 `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 步：使用自动化关联脚本创建实例](opspup-unattend-assoc.md#opspup-unattend-script)中的。