使用Terraform在ESXI上创建虚拟机
1. 前言
ESXi 是一种用于创建和管理虚拟机(VM)的系统管理程序。然而,手动创建和管理多个虚拟机可能非常耗时且容易出错。Terraform 是一个开源 IaC 工具,可以在 ESXi 中自动创建和管理虚拟机。在本教程中,我们将学习如何使用 Terraform 在 ESXi 中创建多个虚拟机。
2. 为什么使用 Terraform
Terraform 是一种基础设施即代码工具,允许您将基础设施定义为代码,可以在团队成员之间进行版本控制、审查和共享。使用 Terraform,您可以以一致和可复制的方式自动化创建和管理基础设施资源(包括 VM)的过程。Terraform 还提供了一种定义资源之间依赖关系的方法,以便可以按正确的顺序创建资源。
3. 前置条件
VMware ESXi 环境
Terraform 安装在您的本地机器上
Terraform 和 ESXi 的基本知识
4. 创建一个新的 Terraform 配置文件
使用 Terraform 在 ESXi 中创建虚拟机的第一步是创建一个新的 Terraform 配置文件。打开您最喜欢的文本编辑器,创建一个名为“main.tf”的新文件。
5. 配置 vSphere provider
vSphere provider 允许 Terraform 与 ESXi 进行交互。将以下代码添加到 main.tf 文件中
1 | provider "vsphere" { |
记得将“your_vSphere_username”、“your_vSphere_password”和“your_vSpher_server”替换为 vSphere 帐户详细信息。
allow_unverified_ssl: 如何你的 esxi 服务器没有设置 ssl 证书, 这里需要设置为 false.
6. 创建新的虚拟机
将以下代码添加到 main.tf 文件以创建新的虚拟机:
1 |
|
这里 datastore_id 和 resource_pool_id 采用查询 EXSI 的方式获得
将“example-vm”替换为您要为虚拟机命名的名称,将“VM Network”替换为要将虚拟机连接到的网络名。
由于初始创建 VM 没有安装 vmware tools,所以获取不到 ip 地址, 此处将 wait_for_guest_net_timeout 和 wait_for_guest_ip_timeout 都设置为 0
7. 初始化并应用 Terraform 配置
通过在终端中运行以下命令初始化 Terraform 配置:
1 | terraform init |
然后,通过运行以下命令应用 Terraform 配置:
1 | terraform apply |
Terraform 在 ESXi 中创建虚拟机之前,系统将提示您确认更改。键入“yes”,然后按回车键继续。
8. 验证虚拟机是否已创建
Terraform 完成应用配置后,您可以通过登录 vSphere 客户端并导航到“虚拟机”选项卡来验证虚拟机是否是在 ESXi 中创建的。
9. 总结
Terraform 是一个强大的工具,可以极大地简化创建和管理基础设施资源的过程。在本教程中,我们介绍了如何使用 Terraform 在 ESXi 中创建虚拟机。通过以下步骤,您现在应该对如何使用 Terraform 创建基础设施资源有了基本的了解。
10. 参考文档
使用Terraform在ESXI上创建虚拟机