Terraform GKE w/地形-设置自动缩放剖面

Terraform GKE w/地形-设置自动缩放剖面,terraform,google-kubernetes-engine,Terraform,Google Kubernetes Engine,我在我的GKE集群上有一个缩小规模的问题,并且发现通过正确的配置我可以解决这个问题 作为地形,我可以使用arguement autoscaling_配置文件并将其设置为优化_利用率 像这样: resource "google_container_cluster" "k8s_cluster" { [...] cluster_autoscaling { enabled = true autoscaling_profile = &

我在我的GKE集群上有一个缩小规模的问题,并且发现通过正确的配置我可以解决这个问题

作为地形,我可以使用arguement autoscaling_配置文件并将其设置为优化_利用率

像这样:

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_容器_集群k8s_集群中modules/gke/main.tf第70行上的参数不受支持: 70:自动缩放\u配置文件=优化\u利用率

此处不需要名为autoscaling_profile的参数

我不明白;博士

在顶部的资源定义中添加以下参数:

提供商=谷歌测试版 更多说明:

文档中所示的自动缩放配置文件是一个测试版功能。这意味着它将需要使用不同的提供商:谷歌测试版

resource "google_compute_instance" "beta-instance" {
 provider = google-beta
 # ...
}
您可以通过以下官方文档了解更多信息:

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

如何使用它:

要使用google beta provider,只需在要使用google beta的每个资源上设置provider字段

resource "google_compute_instance" "beta-instance" {
 provider = google-beta
 # ...
}
关于使用谷歌和谷歌测试版的免责声明:

如果省略了provider字段,Terraform将默认隐式使用google provider,即使您只定义了google beta provider块

除了完整的解释之外,您的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
    }
  }
}
您还需要运行:

$terraforminit TL;博士

在顶部的资源定义中添加以下参数:

提供商=谷歌测试版 更多说明:

文档中所示的自动缩放配置文件是一个测试版功能。这意味着它将需要使用不同的提供商:谷歌测试版

resource "google_compute_instance" "beta-instance" {
 provider = google-beta
 # ...
}
您可以通过以下官方文档了解更多信息:

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

如何使用它:

要使用google beta provider,只需在要使用google beta的每个资源上设置provider字段

resource "google_compute_instance" "beta-instance" {
 provider = google-beta
 # ...
}
关于使用谷歌和谷歌测试版的免责声明:

如果省略了provider字段,Terraform将默认隐式使用google provider,即使您只定义了google beta provider块

除了完整的解释之外,您的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
    }
  }
}
您还需要运行:

$terraforminit