在此範例中,將 Puppet 組態管理新增至在具有使用者名稱和密碼存取權的 vCenter 計算資源上部署的雲端範本。

此程序顯示您可以如何建立需要使用者名稱和密碼驗證的啟用 Puppet 的可部署資源的範例。使用者名稱和密碼存取權表示,使用者必須從計算資源手動登入 Puppet 主要機器,才能叫用 Puppet 組態管理。

您可以選擇性地設定可在雲端範本中設定組態管理的遠端存取驗證,以便計算資源可使用 Puppet 主要機器處理驗證。啟用遠端存取後,計算資源會自動產生金鑰,以滿足密碼驗證。仍然需要有效的使用者名稱。

請參閱AWS Puppet 組態管理雲端範本範例vCenter Puppet 組態雲端範本範例,以取得可以在 Automation Assembler 藍圖中如何設定不同 Puppet 案例的更多範例。

必要條件

程序

  1. 將 Puppet 組態管理元件新增至所需雲端範本的畫布上的 vSphere 計算資源。
    1. 選取基礎結構 > 管理 > 整合
    2. 按一下新增整合,然後選取 Puppet。
    3. 在 [Puppet 組態] 頁面上,輸入適當的資訊。
      組態 說明 範例值
      主機名稱 Puppet 主要機器的主機名稱或 IP 位址 Puppet-Ubuntu
      SSH 連接埠 用於 Automation Assembler 和 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
      說明
  2. 將使用者名稱和密碼內容新增至 Puppet YAML,如以下範例所示。
  3. 確保將 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}'