簡體   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