本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
单独添加节点
重要
AWS OpsWorks for Chef Automate 已于 2024 年 5 月 5 日停用,新客户和现有客户均已禁用。我们建议现有客户迁移到 Chef SaaS 或其他替代解决方案。如果您有任何疑问,可以通过 re AWS : Post 或通过 Pre
此节介绍如何运行 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。
-
将根 CA PEM 格式的证书上传到 S3。
aws s3 cp
ROOT_CA_PEM_FILE_PATH
s3://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-ec2
knife-ec2
,也可以使用它取代 knife bootstrap
来预配置和引导新 EC2 实例。否则,启动新的 EC2 实例,然后按照本节中的步骤操作。
添加要管理的节点
-
运行以下
knife bootstrap
命令:此命令在您的 Chef 服务器将管理的节点上引导 EC2 实例。请注意,您需要指示 Chef 服务器从您安装在nginx
上的 使用 Policyfile.rb 从远程源获取说明书 说明书运行配方。有关通过运行knife bootstrap
命令来添加节点的更多信息,请参阅 Chef 文档中的引导节点。 下表显示了此步骤中
knife
命令的节点操作系统的有效用户名。如果root
或ec2-user
均无法使用,请与您的 AMI 供应商核实。有关连接到基于 Linux 的实例的更多信息,请参阅 AWS 文档中的使用 SSH 连接到 Linux 实例。节点操作系统中用户名的有效值操作系统 有效用户名 Amazon Linux ec2-user
Red Hat Enterprise Linux 5 root
或ec2-user
Ubuntu ubuntu
Fedora fedora
或ec2-user
SUSE Linux root
或ec2-user
knife bootstrap
INSTANCE_IP_ADDRESS
-NINSTANCE_NAME
-xUSER_NAME
--sudo --run-list "recipe[nginx]" -
运行以下命令,将
INSTANCE_NAME
替换为您刚刚添加的实例名称,验证新节点已添加。knife client show
INSTANCE_NAME
knife node showINSTANCE_NAME