问题描述
我有 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