如何解决使用 Terraform 管理 GCP Composer Kubernetes 集群
我已经创建了一个 GCP Composer 环境 using Terraform:
terraform {
required_providers {
google = {
source = "hashicorp/google"
version = "3.5.0"
}
}
}
provider "google" {
credentials = file("my_key.json")
project = "my_project_id"
region = "us-east1"
zone = "us-east1-b"
}
resource "google_composer_environment" "my_composer_id" {
name = "my_composer_name"
region = "us-east1"
config {
node_count = 3
node_config {
zone = "us-east1-b"
machine_type = "n1-standard-1"
}
}
}
Composer 还会自动创建 Kubernetes Engine 集群。这样的集群有一个名为 default-pool 的节点池。 我想在 Composer 创建的集群中create a new node pool。像这样:
resource "google_container_node_pool" "my_node_pool_id" {
name = "my_node_pool_name"
location = "us-east1"
cluster = ????
node_count = 0
node_config {
preemptible = true
machine_type = "n1-standard-1"
}
autoscaling {
min_node_count = 0
max_node_count = 3
}
}
但是,由于我没有在 terraform 文件中创建集群(因为它是由 Composer 自动创建的),所以我没有引用它。
解决方法
可以通过 Cloud Composer 环境的密钥 gke_cluster
available in the config
section 访问集群名称:
resource "google_container_node_pool" "my_node_pool_id" {
name = "my_node_pool_name"
location = "us-east1-b"
cluster = element(
split("/",lookup(
google_composer_environment.my_composer_id.config[0],"gke_cluster"
)
),5
)
// ...
}
第 5 个元素对应于 GKE 集群的名称。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。