Variables Ansible主机名和IP地址
如何使用Variables Ansible主机名和IP地址,variables,dns,ansible,ip,hostname,Variables,Dns,Ansible,Ip,Hostname,如何使用hostsinventory文件中的主机名和IP地址值 例如,我在hosts文件中只有一个名为FQDN的主机,但这是在DNS服务器上注册的 我尝试了一些变量,但总是得到主机名。但是,我们需要两者:( 将请求输出到DNS服务器: 示例host文件:(只有一个主机) 我使用以下命令调用服务ansible: My test.yml文件: --- - name: test1 hosts: host1.dinamarca.com remote_user: usertest
hosts
inventory文件中的主机名和IP地址值
例如,我在hosts
文件中只有一个名为FQDN的主机,但这是在DNS服务器上注册的
我尝试了一些变量,但总是得到主机名。但是,我们需要两者:(
将请求输出到DNS服务器:
示例host
文件:(只有一个主机)
我使用以下命令调用服务ansible:
My test.yml文件:
---
- name: test1
hosts: host1.dinamarca.com
remote_user: usertest
tasks:
- name: show ansible_ssh_host
debug:
msg: "{{ ansible_ssh_host }}"
- name: show inventary_hostname
debug: var=inventory_hostname
- name: show ansible_hostname
debug: var=ansible_hostname
...
输出为:
TASK [show ansible_ssh_host] ****************************************************************************************************************************************
ok: [host1.dinamarca.com] => {
"msg": "host1.dinamarca.com"
}
TASK [show inventary_hostname] **************************************************************************************************************************************
ok: [host1.dinamarca.com] => {
"inventory_hostname": "host1.dinamarca.com"
}
TASK [show ansible_hostname] ****************************************************************************************************************************************
ok: [host1.dinamarca.com] => {
"ansible_hostname": "host1"
}
PLAY RECAP ************************************************************************************************ *************************************************************
host1.dinamarca.com : ok=4 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
有一个Ansible事实称为
Ansible\u fqdn
。如果您同时需要主机名和fqdn,可以执行以下任务:
任务:
-名称:show ansible\u ssh\u主机
调试:
msg:{{ansible\u ssh\u host}}”
-名称:显示清单\u主机名
调试:
msg:{{inventory_hostname}}”
-名称:显示ansible_主机名
调试:
msg:{{ansible_fqdn}}”
您希望输出是什么?我相信{{lookup(“dig”,inventory\u hostname)}}
中的as就是您想要的
ansible-playbook --ask-pass -i hosts test.yml
---
- name: test1
hosts: host1.dinamarca.com
remote_user: usertest
tasks:
- name: show ansible_ssh_host
debug:
msg: "{{ ansible_ssh_host }}"
- name: show inventary_hostname
debug: var=inventory_hostname
- name: show ansible_hostname
debug: var=ansible_hostname
...
TASK [show ansible_ssh_host] ****************************************************************************************************************************************
ok: [host1.dinamarca.com] => {
"msg": "host1.dinamarca.com"
}
TASK [show inventary_hostname] **************************************************************************************************************************************
ok: [host1.dinamarca.com] => {
"inventory_hostname": "host1.dinamarca.com"
}
TASK [show ansible_hostname] ****************************************************************************************************************************************
ok: [host1.dinamarca.com] => {
"ansible_hostname": "host1"
}
PLAY RECAP ************************************************************************************************ *************************************************************
host1.dinamarca.com : ok=4 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0