主机名和IP地址

时间:2020-10-02 17:31:05

标签: variables dns ansible ip hostname

如何使用hosts清单文件中的主机名和IP地址的值?

例如,hosts文件中只有一个主机,其名称为FQDN,但这是在DNS服务器上注册的。

我尝试使用一些var,但始终获得主机名。但是,都需要它们:(

请求输出到DNS服务器:

 nslookup host1.dinamarca.com
 Server:        10.10.1.1
 Address:   10.10.1.1#53

 Name:  host1.dinamarca.com
 Address: 192.168.1.10

示例host文件:(只有一台主机)

 host1.dinamarca.com

我通过以下命令调用该服务:

 ansible-playbook --ask-pass -i hosts test.yml

我的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  

1 个答案:

答案 0 :(得分:1)

有一个叫做ansible_fqdn的Ansible事实。如果同时需要主机名和FQDN,则可以执行以下任务:

tasks:
  - name: show ansible_ssh_host
    debug:
      msg: "{{ ansible_ssh_host }}"
  - name: show inventory_hostname
    debug:
      msg: "{{ inventory_hostname }}"
  - name: show ansible_hostname
    debug: 
      msg: "{{ ansible_fqdn }}"
相关问题