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