繁体   English   中英

连接的独立 ESXi 主机上的 Terraform vsphere_resource_pool - 获取资源池时出错

[英]Terraform vsphere_resource_pool on connected standalone ESXi host - error fetching resource pool

我几乎是 terraform 和 vsphere 提供商的菜鸟,而且我遇到了所有菜鸟问题。

我们希望将虚拟机部署在连接到 vSphere 的受管独立(非集群)ESXi 65 主机上,但我无法正确使用 resource_pool 资源语句,如图所示,我有点绝望并尝试了所有我能做的排列考虑到:

provider "vsphere" {
  vsphere_server = "vcs1.fq.dn"
  alias = "prod"
  allow_unverified_ssl = true
}

data "vsphere_datacenter" "prod" {
  provider = vsphere.prod
  name = "PROD Datacenter"
}

data "vsphere_resource_pool" "vmhost23" {
  provider = vsphere.prod
  datacenter_id = data.vsphere_datacenter.prod.id

#  name          = "vmhost23/Resources"
#  name          = "vmhost23/resources"
#  name          = "vmhost23/"
#  name          = "/"
  name          = "/Resources"
#  name          = "/resources"

#  name          = "vmhost23/Resources/"
#  name          = "vmhost23/resources/"
#  name          = "vmhost23/"
#  name          = "/"
#  name          = "/Resources/"
#  name          = "/resources/"

#  name          = "vmhost23.fq.dn"
#  name          = "vmhost23.fq.dn/"
#  name          = "vmhost23.fq.dn/Resources/"
#  name          = "vmhost23.fq.dn/Resources"
#  name          = "vmhost23.fq.dn/resources/"
#  name          = "vmhost23.fq.dn/resources"

}

不幸的是,没有快乐:

data.vsphere_datacenter.prod: Refreshing state...
data.vsphere_datastore.vmhost23: Refreshing state...
data.vsphere_resource_pool.vmhost23: Refreshing state...
data.vsphere_network.DMZ-prod: Refreshing state...
data.vsphere_datacenter.dc: Refreshing state...
data.vsphere_datastore.datastore: Refreshing state...
data.vsphere_compute_cluster.cluster: Refreshing state...
data.vsphere_datastore_cluster.datastore_cluster: Refreshing state...
data.vsphere_network.TEST-APP: Refreshing state...
data.vsphere_virtual_machine.template: Refreshing state...
:
vsphere_virtual_machine.prdsat: Refreshing state... [id=42190b77-a6a7-8693-e05f-c11528d1afa4]

Error: error fetching resource pool: resource pool '/Resources' not found

  on vm-prdsplidx01x.tf line 4, in data "vsphere_resource_pool" "vmhost23":
   4: data "vsphere_resource_pool" "vmhost23" {

我找到了解决方案。

就我而言,主机位于文件夹中的事实 - 是的,真的 - 使一切变得不同。 这是一个微不足道的数据点,我忽略了它。

所以,就我而言,有效的是

data "vsphere_resource_pool" "vmhost23" {
  provider = vsphere.prod
  name          = "FolderName/vmhost23.fq.dn"
  datacenter_id = data.vsphere_datacenter.prod.id
}

大小写很重要,似乎需要 ESXi 主机名上的 FQDN; 但如果您找到了一种方法来使其与短主机名或小写文件夹名称一起使用,请务必纠正我。

所以,另一个障碍,只有 31 去! 谢谢你为我玩鸭。

我在 vCenter7 上启用了 DRS/HA,这有助于获取资源池。 同样使用 govc 将获得资源池 ID 的路径。

govc 关于 govc find / -type p

terraform import vsphere_resource_pool.resource_pool /dc1/host/compute-cluster1/Resources/ 以上为您提供了 tfstate。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM