我有一个 Terraform 文件,用于在我的家庭 vSphere 实例上创建资源池。 Terraform 文件如下所示:
provider "vsphere" {
vsphere_server = "${var.vsphere_server}"
user = "${var.vsphere_user}"
password = "${var.vsphere_password}"
allow_unverified_ssl = true
}
data "vsphere_datacenter" "dc" {
name = "Datacenter1"
}
data "vsphere_compute_cluster" "compute_cluster" {
name = "Cluster1"
datacenter_id = "${data.vsphere_datacenter.dc.id}"
}
resource "vsphere_resource_pool" "resource_pool" {
name = "terraform-resource-pool-test"
parent_resource_pool_id = "${data.vsphere_compute_cluster.compute_cluster.resource_pool_id}"
}
terraform plan 的输出如下:
# vsphere_resource_pool.resource_pool will be created
+ resource "vsphere_resource_pool" "resource_pool" {
+ cpu_expandable = true
+ cpu_limit = -1
+ cpu_reservation = 0
+ cpu_share_level = "normal"
+ cpu_shares = (known after apply)
+ id = (known after apply)
+ memory_expandable = true
+ memory_limit = -1
+ memory_reservation = 0
+ memory_share_level = "normal"
+ memory_shares = (known after apply)
+ name = "terraform-resource-pool-test"
+ parent_resource_pool_id = "resgroup-8"
}
Plan: 1 to add, 0 to change, 0 to destroy.
但我总是得到以下错误:
vsphere_resource_pool.resource_pool:正在创建...
错误:ServerFaultCode:该对象不支持该操作。
在 main.tf 第 34 行,资源“vsphere_resource_pool”中 “resource_pool”:34:资源“vsphere_resource_pool” “资源池”{
知道如何解决这个问题吗?我使用的是 vSphere 版本 6.0.0 内部版本 3617395
代码看起来不错。
一些手动修复对于这种情况会有帮助。
# clean below folder and files from current directory, where you run `terraform apply`
rm -rf .terraform
rm terraform.tfstate* in any subfolders
# clean below folder from home directory.
rm ~/.terraform.d/
terraform init
terraform plan
terraform apply
我找到了解决问题的方法。 这里是与该问题相关的 Github 票证链接,有人告诉我解决该问题的步骤。
您的 vSphere 计算集群必须启用 DRS,以便您能够使用 terraform 创建资源池。