我已经缩小了我的GKE集群的问题,并找到了正确的配置,我可以解决这个问题。
作为terraform 文档,我可以使用autoscaling_profile并将其设置为OPTIMIZE_UTILIZATION
就像这样:
resource "google_container_cluster" "k8s_cluster" {
[...]
cluster_autoscaling {
enabled = true
autoscaling_profile = "OPTIMIZE_UTILIZATION"
resource_limits {
resource_type = "cpu"
minimum = 1
maximum = 4
}
resource_limits {
resource_type = "memory"
minimum = 4
maximum = 16
}
}
}但我发现了一个错误:
错误:资源"google_container_cluster“"k8s_cluster":70 : autoscaling_profile = "OPTIMIZE_UTILIZATION”中/gke/main.tf第70行上不支持的参数 这里不需要一个名为"autoscaling_profile“的参数。
我不明白?
发布于 2020-09-01 08:50:08
TL;博士
在资源定义中添加以下参数(顶部):
provider = google-beta更多解释:
如文档所示,autoscaling_profile是beta特性。这意味着它需要使用不同的提供者:google-beta。
您可以通过以下正式文档来阅读更多有关它的信息:
重点关注上述文档中最重要的部分:
如何使用:
要使用google提供程序,只需在要使用google的每个资源上设置provider字段即可。 资源"google_compute_instance“”beta-实例“{ provider =google#.}
关于google和google-beta使用的免责声明
如果忽略provider字段,Terraform默认情况下将隐式使用google,即使您只定义了google提供程序块。
添加到整个解释中,您的GKE集群定义应该如下所示:
resource "google_container_cluster" "k8s_cluster" {
[...]
provider = google-beta # <- HERE IT IS
cluster_autoscaling {
enabled = true
autoscaling_profile = "OPTIMIZE_UTILIZATION"
resource_limits {
resource_type = "cpu"
minimum = 1
maximum = 4
}
resource_limits {
resource_type = "memory"
minimum = 4
maximum = 16
}
}
}您还需要运行:
$ terraform inithttps://stackoverflow.com/questions/63674153
复制相似问题