目前,我们将 kubernetes 集群 master 设置为 zonal,并要求它是区域性的。我的想法是将现有集群和所有工作负载/节点/资源转换为一些基础设施即代码——最好是 terraform(但可以像一组gcloud
命令一样简单)。
我知道使用 GCP 我可以为我即将运行的命令生成原始命令行,但我不知道如何(或者我什至可以)将现有基础设施转换为相同的。
根据我的研究,似乎不太可能[以直接的方式]做我想做的事情。所以我正在寻找任何建议,即使只是阅读一些其他文档(对于我可能不熟悉的工具)。
TL;DR:我希望使用我现有的 Google Cloud Platform Kubernetes 集群并重建它,以便将位置类型从 zonal 更改为 master - 我实际上并不关心这是如何完成的。目前公认的最佳实践方法是什么?如果没有,那么这样做的快速而肮脏的方法是什么?
如果您需要我进一步说明,我会 - 我故意省略了与我所做的特定研究的链接。
使用 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
但是,在您的评论中,您提到想要将区域集群转换为区域集群。不幸的是,这在这个时候是不可能的
您在创建集群时决定是区域集群还是区域集群。您不能将现有地区集群转换为区域集群,反之亦然。
在我看来,您最好的选择是:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句