Puppet 支持的具有用户名和密码访问权限的云模板

在本示例中,您将 Puppet 配置管理添加到在具有用户名和密码访问权限的
vCenter
计算资源上部署的云模板。
此过程显示的示例是关于如何创建 Puppet 支持的可部署资源,该资源需要用户名和密码身份验证。用户名和密码访问权限意味着,用户必须从计算资源手动登录到 Puppet 主计算机,才能调用 Puppet 配置管理。
或者,您可以配置远程访问身份验证,从而在云模板中设置配置管理,以便计算资源能在 Puppet 主计算机上进行身份验证。启用远程访问后,计算资源会自动生成密钥以满足密码身份验证。仍需要使用有效的用户名。
有关如何在
Automation Assembler
蓝图中配置不同 Puppet 场景的更多示例,请参见 AWS Puppet 配置管理云模板示例vCenter Puppet 配置云模板示例
  1. 将 Puppet 配置管理组件添加到所需云模板的画布上的
    vSphere
    计算资源中。
    1. 选择
      基础架构
      管理
      集成
    2. 单击
      添加集成
      ,然后选择 Puppet。
    3. 在 Puppet 配置页面上输入相应的信息。
      配置
      说明
      示例值
      主机名
      Puppet 主计算机的主机名或 IP 地址
      Puppet-Ubuntu
      SSH 端口
      用于在
      Automation Assembler
      和 Puppet 主计算机之间进行通信的 SSH 端口。(可选)
      不适用
      Autosign 密钥
      Puppet 主计算机上配置的共享密钥,节点应提供此共享密钥以支持 autosign 证书请求。
      特定于用户
      位置
      指示 Puppet 主计算机是位于私有云还是公有云上。
      仅当部署计算资源与 Puppet 主计算机之间存在连接时,才支持跨云部署。
      云代理
      公有云帐户(如 Microsoft Azure 或 Amazon Web Services)不需要此配置。如果您使用的是基于
      vCenter
      的云帐户,请为您的帐户选择相应的
      云代理
      不适用
      用户名
      Puppet 主计算机的 SSH 和 RBAC 用户名。
      特定于用户。YAML 值为“${input.username}”
      密码
      Puppet 主计算机的 SSH 和 RBAC 密码。
      特定于用户。YAML 值为“${input.password}”
      Use sudo commands for this user
      选择对 procidd 使用 sudo 命令。
      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}'