--- - hosts: master remote_user: root vars: #master_ip=$(ansible-inventory -i /opt/hosts/host2 --list | jq -r '.master.hosts[0]') tasks: - shell: ansible-inventory -i /opt/hosts/host2 --list | jq -r '.master.hosts[0]' register: master_ip - debug: var: master_ip #- local_action: shell ssh root@{{ master_ip }} "start-all.sh"
时间: 2024-02-28 14:54:50 浏览: 136
ansible-known_hosts:用于从 known_hosts 文件中添加删除主机的 ansible 钩子
在这个 playbook 中,除了获取`master`组的第一个 IP 地址外,您还需要做一些其他的事情。在这个 playbook 中,您已经成功地获取了`master`组的第一个 IP 地址,并将其存储在`master_ip`变量中。如果您要在 playbook 的其他任务中使用这个变量,您应该使用`master_ip.stdout`来引用该值。
例如,如果您要在`master_ip`变量所表示的主机上执行一些命令,您可以使用以下任务:
```
- name: 在{{ master_ip.stdout }}上执行命令
shell: echo "Hello World"
delegate_to: "{{ master_ip.stdout }}"
```
在这个任务中,`delegate_to`关键字告诉 Ansible 在`master_ip.stdout`所表示的主机上执行命令。这样,您就可以在 playbook 中使用`master_ip.stdout`变量来引用`master`组的第一个 IP 地址了。
阅读全文