使用 terraform 创建 Kubernetes 集群非常简单,因为最终在 GKE 中创建 Kubernetes 集群很简单,您只需使用google_container_cluster
和google_container_node_pool
资源,如下所示:
resource "google_container_cluster" "primary" {
name = "${var.name}"
region = "${var.region}"
project = "${var.project_id}"
min_master_version = "${var.version}"
addons_config {
kubernetes_dashboard {
disabled = true
}
}
maintenance_policy {
daily_maintenance_window {
start_time = "03:00"
}
}
lifecycle {
ignore_changes = ["node_pool"]
}
node_pool {
name = "default-pool"
}
}
resource "google_container_node_pool" "default" {
name = "default"
project = "${var.project_id}"
region = "${var.region}"
cluster = "${google_container_cluster.primary.name}"
autoscaling {
min_node_count = "${var.node_pool_min_size}"
max_node_count = "${var.node_pool_max_size}"
}
management {
auto_repair = "${var.node_auto_repair}"
auto_upgrade = "${var.node_auto_upgrade}"
}
lifecycle {
ignore_changes = ["initial_node_count"]
}
node_config {
machine_type = "${var.node_machine_type}"
oauth_scopes = [
"https://www.googleapis.com/auth/cloud-platform",
]
}
depends_on = ["google_container_cluster.primary"]
}
为了获得更全面的体验,可以使用类似这样的 terraform 模块
转换现有集群要麻烦得多。如果你想使用terraform import
terraform import google_container_cluster.mycluster us-east1-a/my-cluster
但是,在您的评论中,您提到想要将区域集群转换为区域集群。不幸的是,目前这是不可能的
您在创建集群时决定它是区域性的还是区域性的。您不能将现有的区域集群转换为区域集群,反之亦然。
在我看来,你最好的选择是: