使用 Terraform 管理 GCP Composer Kubernetes 集群
Managing GCP Composer Kubernetes cluster using Terraform
我已经创建了一个 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 的单节点池。 我想 create a new node pool 在 Composer 创建的集群中。像这样:
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集群的名称。
我已经创建了一个 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 的单节点池。 我想 create a new node pool 在 Composer 创建的集群中。像这样:
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集群的名称。