ansible 获取状态是up的物理网卡信息
时间: 2024-02-19 10:02:41 浏览: 21
可以使用 ansible 的 `network` 模块来获取服务器网卡的详细信息,然后筛选出 `up` 状态的物理网卡。
以下是一个示例的 ansible playbook,可以获取服务器已经 up 的物理网卡信息:
```yaml
---
- name: 获取服务器 up 的物理网卡
hosts: your_server_host
gather_facts: yes
become: true
tasks:
- name: 获取网络接口信息
network_interface_facts:
gather_subset: interfaces
register: network_interfaces
- name: 获取 up 的物理网卡
set_fact:
physical_interfaces: "{{ network_interfaces['ansible_facts']['ansible_interfaces'] | reject('match', '^(lo|docker|veth|br-)') | selectattr('active', 'eq', True) | selectattr('type', 'eq', 'ether') | map(attribute='name') | list }}"
- name: 打印结果
debug:
var: physical_interfaces
```
请将 `your_server_host` 替换为你的服务器主机名或IP地址。此 playbook 将使用 `network_interface_facts` 模块获取服务器的网络接口信息,并通过筛选器选择出 `active` 状态为 `True`、类型为 `ether` 的物理网卡。最后将所有符合条件的网卡名称存储到 `physical_interfaces` 变量中,并将其打印出来。
请注意,此 playbook 只适用于 Linux 操作系统,如果您使用其他操作系统,请根据需要修改获取网络接口信息的任务。