如何在ansible中,使用不同的用户登录不同的主机?
bash
#在hosts文件中为每个主机单独设置:
# hosts
[webservers]
web1.example.com ansible_user=admin
web2.example.com ansible_user=deploy
[databases]
db1.example.com ansible_user=dba
db2.example.com ansible_user=root
[all:vars]
ansible_ssh_private_key_file=~/.ssh/id_rsa
实际应用场景
bash
- hosts: webservers
tasks:
- name: restart web service
service:
name: nginx
state: restarted
# web1: admin执行, web2: deploy执行
- hosts: databases
tasks:
- name: optimize database
mysql_query:
query: "OPTIMIZE TABLE important_data;"
# db1: dba执行, db2: root执行