本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為 Puppet 主伺服器新增要管理的節點
重要
AWS OpsWorks for Puppet Enterprise 此服務已於 2024 年 3 月 31 日終止,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問,請透過 AWS re:Post
新增節點的建議方法是使用 AWS OpsWorks associateNode()
API。Puppet Enterprise 主伺服器託管一個儲存庫,可供您用來在要管理的節點上安裝 Puppet 代理程式軟體,而不論節點是在現場部署實體電腦或虛擬機器上。做為啟動程序的一部分,某些作業系統的 Puppet 代理程式軟體會安裝在 OpsWorks for Puppet Enterprise 伺服器上。下表顯示啟動時 OpsWorks for Puppet Enterprise 伺服器上可用的作業系統代理程式。
支援的作業系統 | 版本 |
---|---|
Ubuntu | 16.04、18.04、20.04 |
Red Hat Enterprise Linux (RHEL) | 6、7、8 |
Windows | 所有 Puppet 支援 |
您可以針對其他作業系統將 puppet-agent
新增至您的伺服器。請注意,系統維護將會刪除您在啟動之後已新增至伺服器的代理程式。雖然已在執行遭刪除代理程式的大多數現有連接節點會繼續簽入,但執行 Debian 作業系統的節點可能會停止報告。建議您puppet-agent
在執行作業系統的節點上手動安裝 ,其中代理程式軟體未預先安裝在您的 OpsWorks for Puppet Enterprise 伺服器上。如需如何讓具有其他作業系統的節點可以在您伺服器上使用 puppet-agent
的詳細資訊,請參閱 Puppet Enterprise 文件中的 Installing agents
如需如何透過填入 EC2 執行個體使用者資料,自動將節點與您的 Puppet 主伺服器建立關聯的資訊,請參閱在適用於 Puppet Enterprise 的 OpsWorks 中自動新增節點。
執行 associateNode()
API 呼叫
透過安裝 新增節點之後puppet-agent
,節點會將憑證簽署請求 (CSRs) 傳送至 OpsWorks for Puppet Enterprise 伺服器。您可以在 Puppet 主控台中檢視 CSR;如需節點 CSR 的詳細資訊,請參閱 Puppet Enterprise 文件中的 Managing certificate signing requestsassociateNode()
API 呼叫會處理節點 CSRs,並將節點與您的伺服器建立關聯。以下是如何在 中使用此 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()
自動新增節點的詳細資訊,請參閱在適用於 Puppet Enterprise 的 OpsWorks 中自動新增節點。
新增現場部署節點的考量
在現場部署電腦或虛擬機器puppet-agent
上安裝 之後,您可以使用兩種方式之一,將現場部署節點與 OpsWorks for Puppet Enterprise 主節點建立關聯。
-
如果節點支援 AWS 開發套件
、AWS CLI 或 AWS Tools for PowerShell 的安裝,您可以使用建議的方法來關聯節點,也就是執行 associateNode()
API 呼叫。您第一次建立 OpsWorks for Puppet Enterprise 主節點時下載的入門套件,示範如何使用標籤將角色指派給節點。您可以透過在 CSR 中指定信任的事實,在建立節點與 Puppet 主伺服器關聯同時套用標籤。例如,入門套件隨附的示範控制儲存庫設定為使用標籤pp_role
將角色指派給 Amazon EC2 執行個體。如需如何將標籤新增至 CSR 做為信任事實的詳細資訊,請參閱 Puppet 平台文件中的 Extension requests (permanent certificate data)。 -
如果節點無法執行 AWS 管理或開發工具,您仍然可以向 OpsWorks for Puppet Enterprise 主伺服器註冊節點,就像向任何未受管 Puppet Enterprise 主伺服器註冊節點一樣。如本主題所述,安裝
puppet-agent
會將 CSR 傳送至 OpsWorks for Puppet Enterprise 主伺服器。獲得授權的 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。
詳細資訊
請造訪 Learn Puppet 教學課程網站