单独添加节点 - AWS OpsWorks

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

单独添加节点

重要

AWS OpsWorks for Chef Automate 已于 2024 年 5 月 5 日停用,新客户和现有客户均已禁用。我们建议现有客户迁移到 Chef SaaS 或其他替代解决方案。如果您有任何疑问,可以通过 re AWS : Post 或通过 Pre mium Su AWS pp ort 与 AWS Support 团队联系。

此节介绍如何运行 knife 命令来添加或 引导 EC2 实例,以便 Chef 服务器可以管理它。

在与 AWS OpsWorks for Chef Automate 服务器关联的节点上,chef-client 的最低支持版本为 13.x。我们建议运行最新、最稳定的chef-client版本。

(可选)指定 Chef Automate 服务器根 CA 的 URL

如果您的服务器使用自定义域和证书,则可能需要使用可用于获取服务器的根 CA PEM 格式证书的公共 URL 编辑 userdata 脚本中的 ROOT_CA_URL 变量。以下 AWS CLI 命令将您的根 CA 上传到 Amazon S3 存储桶,并生成可使用一小时的预签名 URL。

  1. 将根 CA PEM 格式的证书上传到 S3。

    aws s3 cp ROOT_CA_PEM_FILE_PATH s3://bucket_name/
  2. 生成一个预签名 URL,您可以使用该 URL 一小时(在本示例中为 3600 秒)来下载根 CA。

    aws s3 presign s3://bucket_name/ROOT_CA_PEM_FILE_NAME --expires-in 3600
  3. 使用预签名 URL 的值编辑 userdata 脚本中的 ROOT_CA_URL 变量。

受支持的操作系统

有关当前支持的节点操作系统列表,请参阅 Chef 网站

使用 Knife 添加节点

knife-ec2 插件包括在 Chef Workstation 中。如果您更熟悉 knife-ec2,也可以使用它取代 knife bootstrap 来预配置和引导新 EC2 实例。否则,启动新的 EC2 实例,然后按照本节中的步骤操作。

添加要管理的节点
  1. 运行以下 knife bootstrap 命令:此命令在您的 Chef 服务器将管理的节点上引导 EC2 实例。请注意,您需要指示 Chef 服务器从您安装在 nginx 上的 使用 Policyfile.rb 从远程源获取说明书 说明书运行配方。有关通过运行 knife bootstrap 命令来添加节点的更多信息,请参阅 Chef 文档中的引导节点

    下表显示了此步骤中 knife 命令的节点操作系统的有效用户名。如果 rootec2-user 均无法使用,请与您的 AMI 供应商核实。有关连接到基于 Linux 的实例的更多信息,请参阅 AWS 文档中的使用 SSH 连接到 Linux 实例

    节点操作系统中用户名的有效值
    操作系统 有效用户名
    Amazon Linux ec2-user
    Red Hat Enterprise Linux 5 rootec2-user
    Ubuntu ubuntu
    Fedora fedoraec2-user
    SUSE Linux rootec2-user
    knife bootstrap INSTANCE_IP_ADDRESS -N INSTANCE_NAME -x USER_NAME --sudo --run-list "recipe[nginx]"
  2. 运行以下命令,将 INSTANCE_NAME 替换为您刚刚添加的实例名称,验证新节点已添加。

    knife client show INSTANCE_NAME knife node show INSTANCE_NAME