![](/img/trans.png)
[英]Terraform with vSphere: the operation is not supported on the object (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.