Ansible Tower/AWX 多凭证

问题描述

我有 Ansible Tower 正在运行,我希望能够将多个凭据(ssh 密钥)分配给一个作业模板,然后当我运行该作业时,我希望它为它所连接的机器使用正确的凭据,因此不会导致用户在循环访问可用凭据时锁定。

我有一个作业模板,并使用自定义凭据类型添加了多个凭据,但如何告诉它为每个主机使用正确的密钥?

谢谢

解决方法

我正在使用社区 ansible,如果 ansible 塔的行为不同,请原谅

inventory.yml

all:
  children:
    web_servers:
      vars:
        ansible_user: www_user
        ansible_ssh_private_key_file: ~/.ssh/www_rsa
      hosts:
        node1-www:
          ansible_host: 192.168.88.20
        node2-www:
          ansible_host: 192.168.88.21
    database_servers:
      vars:
        ansible_user: db_user
        ansible_ssh_private_key_file: ~/.ssh/db_rsa
      hosts:
        node1-db:
          ansible_host: 192.168.88.20
        node2-db:
          ansible_host: 192.168.88.21

您可以在这里看到的是:

  • 两个服务器都运行 webapp 和 db
  • Webapp & DB 使用不同的用户运行
  • 组主机名因用户而异(这很重要)
,

您必须为每个主机创建凭据类型,然后为每个凭据类型创建凭据。您应该将注入器配置转换为宿主变量。

请看以下帖子:

https://faun.pub/lets-do-devops-ansible-awx-tower-authentication-power-user-2d4c3c68ca9e