连接的独立ESXi主机上的Terraform vsphere_资源_池-获取资源池时出错
我几乎是terraform和vsphere提供商的noob,我遇到了所有的noob问题 我们希望在连接到vsphere的受管独立(非群集)ESXi 65主机上安装VM,但我无法获得正确的resource_pool resource语句,如图所示,我有点绝望,尝试了我能想到的所有排列方式:连接的独立ESXi主机上的Terraform vsphere_资源_池-获取资源池时出错,terraform,devops,vsphere,Terraform,Devops,Vsphere,我几乎是terraform和vsphere提供商的noob,我遇到了所有的noob问题 我们希望在连接到vsphere的受管独立(非群集)ESXi 65主机上安装VM,但我无法获得正确的resource_pool resource语句,如图所示,我有点绝望,尝试了我能想到的所有排列方式: provider "vsphere" { vsphere_server = "vcs1.fq.dn" alias = "prod" allow_unverified_ssl = true } da
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个了!谢谢你帮我玩鸭子游戏。我在vCenter 7上启用了DRS/HA,这有助于获得资源池。另外,使用govc将获得资源池ID的路径 关于 govc find/-type p terraform导入vsphere\u resource\u pool.resource\u pool/dc1/host/compute-cluster1/Resources/ 以上内容可以让您了解tfstate