You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Ansible管理ESXi清单 批量修改多台ESXi服务器DNS设置咨询

解决方案

步骤1:编写Ansible清单文件

将所有ESXi主机信息整理到清单文件,单独划分esxi_hosts组统一管理。如果所有ESXi的账号密码、DNS服务器配置一致,可以配置组变量减少重复配置,单台主机有特殊配置的单独定义即可。

# inventory.ini 示例
[esxi_hosts]
esxi01 esxi_hostname=esxi01.domain.local
esxi02 esxi_hostname=esxi02.domain.local
esxi03 esxi_hostname=esxi03.domain.local

# 组公共变量,所有组内主机通用
[esxi_hosts:vars]
esxi_username=root
esxi_password=你的ESXi登录密码
dns_servers=["192.168.1.10", "192.168.1.11"]

步骤2:编写适配多主机的Playbook

直接将Playbook的目标主机指定为esxi_hosts组,Ansible会自动遍历组内所有主机,自动将对应主机的变量注入到任务中,无需手动编写循环逻辑。

---
- hosts: esxi_hosts
  gather_facts: no
  tasks:
  - name: 配置ESXi服务器DNS设置
    vmware_dns_config:
      hostname: '{{ esxi_hostname }}'
      username: '{{ esxi_username }}'
      password: '{{ esxi_password }}'
      dns_servers: '{{ dns_servers }}'
      # 需要同步修改主机名、域名可新增以下两个参数,不需要则删除
      # change_hostname_to: '{{ inventory_hostname }}'
      # domainname: yourdomain.local
    delegate_to: localhost

执行命令

执行时指定对应清单文件即可批量完成配置:
ansible-playbook -i inventory.ini esxi_dns_config.yml

注意事项

  • 密码明文存储在清单中有安全风险,可使用ansible-vault加密清单文件或敏感变量
  • 执行前请确认控制节点已安装vmware模块依赖:pip install pyvmomi
  • 正式执行前可加--check参数做模拟运行,验证配置逻辑正确后再正式执行

内容的提问来源于stack exchange,提问作者ring0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 09:45:05