個別加入節點 - AWS OpsWorks

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

個別加入節點

重要

AWS OpsWorks 廚師自動化已於 2024 年 5 月 5 日終止使用壽命,並已針對新客戶和現有客戶停用。我們建議現有客戶遷移到 Chef SaaS 或替代解決方案。如果您有任何疑問,可以通過 AWS Re: post 或通過AWS 高級 Support 與 AWS Support 團隊聯繫。

本節介紹如何運行添加或引導 EC2 實例的knife命令,以便 Chef 服務器可以對其進行管理。

與 AWS OpsWorks for Chef Automate 伺服器相關聯節點上的 chef-client 最低支援版本為 13.x。我們建議您執行最新、穩定的chef-client版本。

(選用) 指定 Chef Automate 伺服器根 CA 的 URL

如果您的伺服器使用自訂網域和憑證,您可能需要使用公開 URL 來編輯 userdata 指令碼中的 ROOT_CA_URL 變數,以用於取得伺服器的根 CA PEM 格式憑證。下列 AWS CLI 命令會將您的根 CA 上傳到 Amazon S3 儲存貯體,並產生可使用一小時的預先簽署 URL。

  1. 將根 CA PEM 格式的憑證上傳到 S3。

    aws s3 cp ROOT_CA_PEM_FILE_PATH s3://bucket_name/
  2. 產生您可以使用一小時 (在此範例中為 3600 秒) 的預先簽章的 URL 以下載根 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插件包含在廚師工作站。如果您比較熟悉 knife-ec2,則可以使用它來取代 knife bootstrap,以便佈建及引導新的 EC2 執行個體。否則,啟動新的 EC2 執行個體,然後依照本節中的步驟進行。

新增要管理的節點
  1. 執行下列 knife bootstrap 命令。此命令會將 EC2 執行個體引導至您 Chef 伺服器將管理的節點。請注意,您會指示 Chef 伺服器執行 使用 Policyfile.rb 取得遠端來源的技術指南 中所安裝 nginx 技術指南的配方。如需執行 knife bootstrap 命令新增節點的詳細資訊,請參閱 Chef 文件中的 Bootstrap a Node

    下表顯示此步驟之 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