ansible_fqdn
时间: 2023-12-17 07:28:56 浏览: 166
`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 }}
以下是一个简单的 playbook,它将安装httpd并使用模板生成主页文件:
```
---
- name: Install and configure httpd
hosts: all
become: true
tasks:
- name: Install httpd
yum:
name: httpd
state: present
- name: Start httpd service
service:
name: httpd
state: started
enabled: true
- name: Create index.html from template
template:
src: templates/index.html.j2
dest: /var/www/html/index.html
mode: '0644'
```
这个 playbook 包括三个任务:
1. 安装 httpd 服务
2. 启动 httpd 服务
3. 使用模板生成主页文件
在 playbook 中,我们使用了 `template` 模块来生成主页文件。我们可以在 templates 目录下创建一个名为 index.html.j2 的 Jinja2 模板文件,它包含以下内容:
```
Welcome to {{ ansible_fqdn }} on {{ ansible_default_ipv4.address }}
```
当 playbook 运行时,`template` 模块将使用该模板文件来生成实际的主页文件,并将其放置在 `/var/www/html/index.html`。
注意:在使用模板文件时,请确保文件名以 `.j2` 结尾,并将模板文件放置在 playbook 的 `templates` 目录下。
编写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文件中。
阅读全文