ansible_fqdn
时间: 2023-12-17 14:28:56 浏览: 30
`ansible_fqdn`是Ansible中的一个事实(fact),它代表主机的完全限定域名(Fully Qualified Domain Name)。可以通过在目标主机上运行`ansible -m setup`命令来查看所有可用的事实。以下是一个示例命令,用于仅显示`ansible_fqdn`事实:
```shell
ansible <your_host> -m setup -a 'filter=ansible_fqdn'
```
该命令将返回一个JSON格式的输出,其中包含有关目标主机的信息,包括`ansible_fqdn`事实。
相关问题
编写playbook,实现安装配置httpd服务,使用模板生成httpd的主页文件/var/www/html/index.html主页显示的内容是Welcome to {{ ansible_fqdn }} on {{ ansible_default_ipaddress }}。
以下是一个实现安装配置httpd服务并使用模板生成主页文件的Playbook:
```yaml
---
- name: Install and configure httpd
hosts: all
become: true
tasks:
- name: Install httpd
yum:
name: httpd
state: present
- name: Start httpd and enable at boot
service:
name: httpd
state: started
enabled: yes
- name: Configure firewall for httpd
firewalld:
service: http
permanent: true
state: enabled
immediate: true
- name: Generate index.html file
template:
src: templates/index.html.j2
dest: /var/www/html/index.html
```
在此Playbook中,我们首先使用`yum`模块安装httpd。然后,我们使用`service`模块启动httpd并将其设置为开机启动。接下来,我们使用`firewalld`模块配置防火墙以允许http流量。最后,我们使用`template`模块从模板文件`index.html.j2`生成主页文件,并将其放置在`/var/www/html/index.html`位置。
以下是`index.html.j2`模板文件的内容:
```html
<html>
<head>
<title>Welcome to {{ ansible_fqdn }} on {{ ansible_default_ipv4.address }}</title>
</head>
<body>
<h1>Welcome to {{ ansible_fqdn }} on {{ ansible_default_ipv4.address }}</h1>
</body>
</html>
```
该模板文件中,我们使用了`{{ ansible_fqdn }}`和`{{ ansible_default_ipv4.address }}`变量,这些变量分别对应主机的完全域名和IP地址,并将它们插入到HTML文件中。
ansible_facts和ansible_devices 区别
ansible_facts和ansible_devices是Ansible中两个不同的变量。
ansible_facts是一个特殊的变量,它包含了Ansible在目标主机上收集到的所有事实(facts)。这些事实包括操作系统类型、主机名、IP地址、CPU信息、内存信息等等。你可以在Playbook中使用ansible_facts来访问这些事实,并根据需要进行处理或使用。
ansible_devices是一个子变量,它包含了关于目标主机上的存储设备(硬盘、分区等)的信息。ansible_devices变量提供了设备名称、设备类型、设备大小等信息,可以在Playbook中使用它来执行与存储设备相关的操作,比如分区、格式化等。
总结起来,ansible_facts提供了关于目标主机的各种事实信息,而ansible_devices提供了关于目标主机上存储设备的信息。两者都是Ansible提供的变量,可以在Playbook中使用。