在此範例中,將 Puppet 組態管理新增至在具有使用者名稱和密碼存取權的 vCenter 計算資源上部署的雲端範本。
此程序顯示您可以如何建立需要使用者名稱和密碼驗證的啟用 Puppet 的可部署資源的範例。使用者名稱和密碼存取權表示,使用者必須從計算資源手動登入 Puppet 主要機器,才能叫用 Puppet 組態管理。
您可以選擇性地設定可在雲端範本中設定組態管理的遠端存取驗證,以便計算資源可使用 Puppet 主要機器處理驗證。啟用遠端存取後,計算資源會自動產生金鑰,以滿足密碼驗證。仍然需要有效的使用者名稱。
請參閱AWS Puppet 組態管理雲端範本範例和vCenter Puppet 組態雲端範本範例,以取得可以在 Cloud Assembly 藍圖中如何設定不同 Puppet 案例的更多範例。
必要條件
- 在有效的網路上設定 Puppet Enterprise 執行個體。
- 使用整合功能將 Puppet Enterprise 執行個體新增至 Cloud Assembly。請參閱在 Cloud Assembly 中設定 Puppet Enterprise 整合
- 設定 vSphere 帳戶和 vCenter 計算資源。
程序
- 將 Puppet 組態管理元件新增至所需雲端範本的畫布上的 vSphere 計算資源。
- 選取 。
- 按一下新增整合,然後選取 Puppet。
- 在 [Puppet 組態] 頁面上,輸入適當的資訊。
組態 說明 範例值 主機名稱 Puppet 主要機器的主機名稱或 IP 位址 Puppet-Ubuntu SSH 連接埠 用於 Cloud Assembly 和 Puppet 主要機器之間通訊的 SSH 連接埠。(選用) NA 自動簽署密碼 在 Puppet 主要機器上設定的共用密碼,節點應提供以支援自動簽署憑證要求。 使用者特定 位置 指示 Puppet 主要機器是在私有雲還是公有雲上。 備註: 僅在部署計算資源與 Puppet 主要機器之間存在連線時,才支援跨雲端部署。Cloud proxy 公有雲帳戶不需要,例如 Microsoft Azure 或 Amazon Web Services。如果您正使用以 vCenter 為基礎的雲端帳戶,請為您的帳戶選取適當的 cloud proxy。 NA 使用者名稱 Puppet 主要機器的 SSH 和 RBAC 使用者名稱。 使用者特定。YAML 值為 '${input.username}' 密碼 Puppet 主要機器的 SSH 和 RBAC 密碼。 使用者特定的 YAML 值為 '${input.password}' 為此使用者使用 sudo 命令 選取以將 sudo 命令用於 procidd。 true 名稱 Puppet 主要機器名稱。 PEMasterOnPrem 說明
- 將使用者名稱和密碼內容新增至 Puppet YAML,如以下範例所示。
- 確保將 Puppet 雲端範本 YAML 中 remoteAccess 內容的值設為
authentication: username and password
,如以下範例所示。
範例: vCenter 使用者名稱和密碼 YAML 程式碼
以下範例顯示用於在 vCenter 計算資源上新增使用者名稱和密碼驗證的代表性的 YAML 程式碼。
inputs: username: type: string title: Username description: Username to use to install Puppet agent default: puppet password: type: string title: Password default: VMware@123 encrypted: true description: Password for the given username to install Puppet agent resources: Puppet-Ubuntu: type: Cloud.vSphere.Machine properties: flavor: small imageRef: >- https://cloud-images.ubuntu.com/releases/16.04/release-20170307/ubuntu-16.04-server-cloudimg-amd64.ova remoteAccess: authentication: usernamePassword username: '${input.username}' password: '${input.password}' Puppet_Agent: type: Cloud.Puppet properties: provider: PEMasterOnPrem environment: production role: 'role::linux_webserver' username: '${input.username}' password: '${input.password}' host: '${Puppet-Ubuntu.*}' useSudo: true agentConfiguration: certName: '${Puppet-Ubuntu.address}'