GKE w/Terraform-设置自动缩放_profile



我在GKE集群上遇到了缩减问题,发现只要配置得当,我就能解决这个问题。

作为地形文档,我可以使用参数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
}
}
}

但我得到了这个错误:

错误:模块/gke/main.tf第70行的参数不受支持,位于资源"中;google_container_cluster"quot;k8s_cluster":70:自动缩放_文件=";OPTIMIZE_;

一个名为";autoscaling_profile";此处不应出现。

我不明白吗?

TL;DR

将以下参数添加到资源的定义中(顶部(:

  • provider = google-beta

更多解释:

文档中显示的autoscaling_profile测试版功能。这意味着它将需要使用不同的提供程序:google-beta

您可以通过以下官方文档了解更多信息:

  • Terraform.io:使用谷歌测试版提供商

关注上述文档中最重要的部分:

如何使用:

要使用谷歌测试版提供程序,只需在每个资源上设置要使用谷歌试用版的提供程序字段。

resource "google_compute_instance" "beta-instance" {
provider = google-beta
# ...
}

关于googlegoogle-beta:使用的免责声明

如果省略provider字段,Terraform将默认隐式使用谷歌提供程序,即使您只定义了谷歌测试版提供程序块


添加到整个解释中,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 init

最新更新