本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
单独添加节点
重要
AWS OpsWorks for Chef Automate 已于 2024 年 5 月 5 日停用,新客户和现有客户均已禁用。我们建议现有客户迁移到 Chef SaaS 或其他替代解决方案。如果您有任何疑问,可以通过 re AWS : Post 或通过 Pre
本节介绍如何运行添加或引导 EC2 实例的knife命令,以便 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。
-
将根 CA PEM 格式的证书上传到 S3。
aws s3 cpROOT_CA_PEM_FILE_PATHs3://bucket_name/ -
生成一个预签名 URL,您可以使用该 URL 一小时(在本示例中为 3600 秒)来下载根 CA。
aws s3 presign s3://bucket_name/ROOT_CA_PEM_FILE_NAME--expires-in 3600 -
使用预签名 URL 的值编辑 userdata 脚本中的
ROOT_CA_URL变量。
受支持的操作系统
有关当前支持的节点操作系统列表,请参阅 Chef 网站
使用 Knife 添加节点
knife-ec2knife-ec2,你可以用它来代替配置和引导新 EC2instances的。knife bootstrap否则,请启动一个新 EC2 实例,然后按照本节中的步骤操作。
添加要管理的节点
-
运行以下
knife bootstrap命令:此命令将 EC2 实例引导到您的 Chef 服务器将管理的节点。请注意,您需要指示 Chef 服务器从您安装在nginx上的 使用 Policyfile.rb 从远程源获取说明书 说明书运行配方。有关通过运行knife bootstrap命令来添加节点的更多信息,请参阅 Chef 文档中的引导节点。 下表显示了此步骤中
knife命令的节点操作系统的有效用户名。如果root或ec2-user均无法使用,请与您的 AMI 供应商核实。有关连接到基于 Linux 的实例的更多信息,请参阅 AWS 文档中的使用 SSH 连接到 Linux 实例。节点操作系统中用户名的有效值 操作系统 有效用户名 Amazon Linux ec2-userRed Hat Enterprise Linux 5 root或ec2-userUbuntu ubuntuFedora fedora或ec2-userSUSE Linux root或ec2-userknife bootstrapINSTANCE_IP_ADDRESS-NINSTANCE_NAME-xUSER_NAME--sudo --run-list "recipe[nginx]" -
通过运行以下命令来验证新节点是否已添加,
INSTANCE_NAME替换为刚刚添加的实例的名称。knife client showINSTANCE_NAMEknife node showINSTANCE_NAME