问题标签 [terraform-provider-vsphere]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
182 浏览

terraform - 无法使用 terraform 获取 VM 的 vSphere Instance UUID

我们已经使用 terraform 在 vSphere 中配置了一个 VM,它会在状态文件中返回 VM 详细信息。但它不会返回用于唯一标识 vCenter 中的 VM 的 VM Instance UUID。

它仅提供无法用于进行 vSphere API 调用的 VM uuid。vSphere API 需要实例 UUID 来识别 VM。

任何帮助/指针将不胜感激。

以下是在 vSphere 中配置 VM 的主要 terraform 文件:

==================================================== ================

它接受另一个提供所有参数的变量文件。

正在配置 VM,但 terraform 未返回用于在 vCenter 中标识 VM 的唯一 id-Instance UUID。有什么方法可以让我将此实例 UUID 作为 terraform 中的响应?

0 投票
1 回答
96 浏览

terraform - 您如何通过 vapp 属性接受 vcsa EULA?

有没有人知道在使用 vapp 属性通过 ova 部署 vCenter 服务器设备时接受 EULA 的方法?我正在尝试使用vsphere_virtual_machine具有属性的资源通过 terraform 将 vcsa 6.7 实例部署ovf_deploy到远程 ovf url。

谢谢!

0 投票
0 回答
124 浏览

terraform - 导入现有 VM 时如何避免 Terraform 擦除 VM 上的 vSphere 标记

我有一个与 Terraform 和 vSphere 提供程序(任何版本)相关的问题,与导入带有 vSphere 标签的虚拟机有关,考虑到标签的数量及其类别因一个虚拟机而异,而且我想避免每个导入的虚拟机都有一个特定的 tf 模板......让我们举一个具体的例子:

  • VM0 没有标签
  • VM1 有一个类别 1 的标签 T1
  • VM2 具有各自类别 1 和 2 的两个标签 T1 和 T2 我只关心我的解决方案中的标签类别 1(这意味着我可能想要使用类别 1 的标签标记 VM 以用于特殊目的)。所以,我的问题是,如果我在用于导入 VM 的 tf 模板中使用具有一个标签类别和一个标签的模板

导入所有 3 个虚拟机都可以,但是当我尝试修改时,比如说虚拟机的内存大小,那么计划和应用将:

  • VM0 失败
  • 为 VM1 工作
  • 擦除 VM2 的第二个标签

有人会对如何处理这种情况有任何提示吗?事先谢谢

0 投票
2 回答
154 浏览

terraform - Terraform vsphere_tag 不需要的删除

我正在使用 Terraform 在我们的 VMware vCenter 基础架构上部署一些开发和生产虚拟机,并使用 vsphere 标签来定义虚拟机的职责。因此,我在(子)模块中添加了以下内容:

现在,当我销毁例如 dev 基础设施时,它还会删除 prod vsphere 标签,并让虚拟机没有标签。

我试图跳过生命周期的删除,但是我需要单独删除我不喜欢的每个资源。

有没有办法在不让 Terraform 管理资源的情况下添加现有标签?没有将标签作为资源包含在内的硬编码,例如:

0 投票
0 回答
130 浏览

terraform - Terraform 并行提供 2 个资源,同时使用彼此的变量

我对 terraform 还很陌生,希望能得到一些意见。

地形 0.14.5

球体提供者 v1.24.1

尝试并行配置 2 个虚拟机。

首先,我试图只使用 local-exec 配置程序和“sed”将主资源的 IP 地址提供给配置文件以供 minion 资源使用。问题是文件没有被及时编辑,以便 minion 资源获取文件的更新版本。所以我发现了这个: https ://discuss.hashicorp.com/t/edit-files-using-local-exec-and-use-them-for-configuration/1616

我现在已经配置了 terraform 来更新文件,如下所示:

可以说 minion.tmplt 内容是The master ip is ${master_ip}

在奴才资源中:

现在它可以工作了,minion 连接到 masterterraform 拒绝并行部署它们,并在 master 获得 IP 地址后立即更新和配置文件。它首先配置整个主资源,然后在从属资源上启动,如果要并行执行,则配置时间为 20 分钟,而不是 10 分钟。有人可以帮忙吗?

0 投票
1 回答
874 浏览

terraform - 使用 Terraform 创建多个新实例

我编写了一个 Terraform 脚本,它应该从一个模板创建多个服务器实例。我现在创建了两个不同的变量文件。

但是当我运行脚本时,会使用第一个变量文件创建一个新实例,但是第二个变量文件总是会覆盖/更改第一个。我不知道为什么 Terraform 引用了以前新创建的实例。我怎样才能防止这种情况?

服务器 1.tfvars:

服务器 2.tfvars:

提供者.tf:

数据.tf:

资源.tf:

密码.tf:

0 投票
1 回答
664 浏览

terraform - 如何使用 Terraform 创建多个实例

我想使用 Terraform 生成资源的多个实例。以下脚本适用于一个实例。不幸的是,在创建新 VM 时,创建的 VM 只是被不同的参数覆盖。据我所知,Terraform 函数for_each不能在data块中使用。

如何设法创建具有不同参数的多个实例?不幸的是,我对 Terraform 的了解非常有限。因此,我很感激任何帮助。

地形脚本:

0 投票
1 回答
585 浏览

terraform - 错误:设置新 vSphere SOAP 客户端时出错:发布“https://example.com/sdk”:拨号 tcp:i/o 超时

当我运行“terraform plan”时出现此错误错误:设置新 vSphere SOAP 客户端时出错:后拨号 tcp:i/o 超时

在 modules/control_plane_resources/main.tf 第 2 行,在提供者“vsphere”中:2:提供者“vsphere”{

0 投票
0 回答
49 浏览

terraform - 在 terraform 提供程序中设置 TypeList 元素

我正在尝试根据自己的需要自定义现有的提供程序。我需要改变一个资源的一个元素。这个元素是 []interface{} 并且这是一个嵌套元素(它使用子结构,其中还包含 []interfaces{} 和 map[string]interface{} 我试图运行 d.Set("element name", ) 但是它不做任何事情。

有任何想法吗?

谢谢

0 投票
1 回答
448 浏览

terraform - terraform-provider-vsphere 自定义 windows ip 地址失败 sysprep “Windows 安装程序无法配置 Windows 以在此计算机的硬件上运行”

我目前正在尝试使用 terraform 和 packer 部署域控制器。我构建了一个 Windows Server 2016 模板,并在其中安装了 Active Directory 域控制器。

以下是我部署 VM 的方式:

部署失败并出现以下错误:

在 VM 的屏幕上,出现此消息“Windows 安装程序无法将 Windows 配置为在此计算机的硬件上运行”

C:\Windows\Temp\vmware-imc 中没有错误。在 C:\Windows\Panther\setuperr.log 中:

在 C:\Windows\System32\Sysprep\Panther\setuperr.log 中:

我认为 0x32 表示“不支持该请求”。(来源:https ://docs.microsoft.com/en-us/windows/win32/debug/system-error-codes--0-499- )但我不明白发生了什么。我猜这个问题与 MSRT 有关,但我没有发现任何关于“Failed ConnectServer”的类似错误

我尝试在 VM 上运行 Windows 更新并从 Windows2016 更改为 Windows2019,但似乎没有任何效果。有谁知道是什么导致了这个问题?Sysprep 是否需要网络连接才能工作?

编辑:我也尝试使用自定义最小 sysprep 应答文件,但我得到完全相同的错误。