本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為 Puppet 主伺服器新增要管理的節點
重要
該 AWS OpsWorks for Puppet Enterprise 服務於 2024 年 3 月 31 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請透過 AWS Re: post
新增節點的建議方法是使用 AWS OpsWorks associateNode()
API。Puppet Enterprise 主伺服器託管一個儲存庫,可供您用來在要管理的節點上安裝 Puppet 代理程式軟體,而不論節點是在現場部署實體電腦或虛擬機器上。部分作業系統的 Puppet 代理程式軟體會安裝在 OpsWorks Puppet 企業伺服器上,做為啟動程序的一部分。下表顯示啟動時可在 Puppet Enterprise 伺服器上使用的 OpsWorks 作業系統代理程式。
支援的作業系統 | 版本 |
---|---|
Ubuntu | 16.04、18.04、20.04 |
Red Hat Enterprise Linux (RHEL) | 六、七、八 |
Windows | 所有 Puppet 支援 |
您可以針對其他作業系統將 puppet-agent
新增至您的伺服器。請注意,系統維護將會刪除您在啟動之後已新增至伺服器的代理程式。雖然已在執行遭刪除代理程式的大多數現有連接節點會繼續簽入,但執行 Debian 作業系統的節點可能會停止報告。建議您在執行作業系統的節點puppet-agent
上手動安裝,而 Puppet Enterprise 伺服器上未預先安裝代理程式軟體。 OpsWorks 如需如何讓具有其他作業系統的節點可以在您伺服器上使用 puppet-agent
的詳細資訊,請參閱 Puppet Enterprise 文件中的 Installing agents
如需如何透過填入 EC2 執行個體使用者資料,自動將節點與您的 Puppet 主伺服器建立關聯的資訊,請參閱 OpsWorks 為 Puppet 企業自動新增節點。
執行 associateNode()
API 呼叫
在您透過安裝方式新增節點之後puppet-agent
,節點會傳送憑證簽署要求 (CSR) 至 Puppet 企業伺服器。 OpsWorks 您可以在 Puppet 主控台中檢視 CSR;如需節點 CSR 的詳細資訊,請參閱 Puppet Enterprise 文件中的 Managing certificate signing requestsassociateNode()
API 呼叫會處理節點 CSR,並將節點與您的伺服器建立關聯。以下是如何在中使用此 API 呼叫 AWS CLI 來關聯單一節點的範例。您將需要節點所傳送之 PEM 格式的 CSR,這可透過 Puppet 主控台取得。
aws opsworks-cm associate-node --server-name "test-puppet-server" --node-name "
node or instance ID
" --engine-attributes "Name=PUPPET_NODE_CSR,Value='PEM_formatted_CSR_from_the_node
'
如需如何使用 associateNode()
自動新增節點的詳細資訊,請參閱 OpsWorks 為 Puppet 企業自動新增節點。
新增現場部署節點的考量
在內部部署電腦或虛擬機器puppet-agent
上安裝之後,您可以使用兩種方式之一,將內部部署節點與您 OpsWorks 的 Puppet Enterprise 主機產生關聯。
-
如果節點支援 AWS 開發套件
、AWS CLI 或 AWS Tools for PowerShell 的安裝,您可以使用建議的方法來關聯節點,也就是執行 associateNode()
API 呼叫。您第一次建立 Puppet 企業主機時下載的 OpsWorks 入門套件會顯示如何使用標籤將角色指派給節點。您可以透過在 CSR 中指定信任的事實,在建立節點與 Puppet 主伺服器關聯同時套用標籤。例如,入門套件隨附的示範控制儲存庫設定為使用標籤pp_role
將角色指派給 Amazon EC2 執行個體。如需如何將標籤新增至 CSR 做為信任事實的詳細資訊,請參閱 Puppet 平台文件中的 Extension requests (permanent certificate data)。 -
如果節點無法執行 AWS 管理或開發工具,您 OpsWorks 仍然可以向 Puppet Enterprise 主機註冊它,方法與在任何未受管理的 Puppet 企業主機上註冊該節點相同。如本主題所述,安裝會將 CSR
puppet-agent
傳送至 Puppet 企業主機。 OpsWorks 獲得授權的 Puppet 使用者可以手動簽署 CSR,或透過編輯存放在 Puppet 主伺服器上的autosign.conf
檔案來設定 CSR 的自動簽署。如需設定自動簽署和編輯autosign.conf
的詳細資訊,請參閱 Puppet 平台文件中的 SSL configuration: autosigning certificate requests。
若要將現場部署節點與一個 Puppet 主伺服器連結,允許 Puppet 主伺服器以接受所有 CSR,請在 Puppet Enterprise 主控台執行下列動作。控制此行為的參數為puppet_enterprise::profile::master::allow_unauthenticated_ca
。
重要
啟用 Puppet 主伺服器接受自簽 CSR,或不建議所有 CSRs 用於安全考量。根據預設,允許未經授權的 CSR 讓全世界都能使用 Puppet 主伺服器。設定上傳憑證要求須根據預設啟用,會讓您的 Puppet 主程式容易受到阻斷服務攻擊 (DoS)。
-
登入 Puppet Enterprise 主控台
-
選擇 Configure (設定),選擇 Classification (分類),選擇 PE Master,然後選擇 Configuration (組態) 標籤。
-
在 Classification (分類) 標籤,找到 puppet_enterprise::profile::master 類別。
-
將 allow_unauthenticated_ca 參數的值設為 true。
-
儲存您的變更。您的變更會在下一次 Puppet run 期間套用。您可以允許變更在 30 分鐘內生效 (並新增現場部署節點),或者您可以在 PE 主控台的 Run (執行) 區段手動初始化 Puppet run。
詳細資訊
請造訪學習 Puppet 教學課程網站