将现有 GKE 集群添加到 terraform stat 文件
Posted
技术标签:
【中文标题】将现有 GKE 集群添加到 terraform stat 文件【英文标题】:Add existing GKE cluster to terraform stat file 【发布时间】:2021-10-15 00:36:46 【问题描述】:假设我有一个现有的 GKE 集群,其中包含我的所有应用程序。它们都使用不同的方法进行部署。现在我想使用 Terraform 将一些资源部署到该集群。这里的问题是 terraform 在他的状态文件中看不到它,因此它无法与之交互。另一个问题是,即使我将该集群添加到我的状态文件中,terraform 也不会看到该集群中创建的所有资源。这可能会导致一些冲突,例如我正在尝试部署两个具有相同名称的资源。有没有办法解决这个问题,还是我只需要处理我存在的现实并为我使用 terraform 部署的每个新项目创建一个新集群?
【问题讨论】:
【参考方案1】:您可以使用 terraform import command 将现有 GKE 集群导入到 terraform 状态。在运行它之前,您需要为您的集群进行足够的 terraform 配置。
导入命令示例:
terraform import google_container_cluster.<TF_RESOURCE_NAME> projects/<PROJECT_ID>/locations/<YOUR-CLUSTER-ZONE>/clusters/<CLUSTER_NAME>
对于 terraform 配置:
resource "google_container_cluster" "<TF_RESOURCE_NAME>"
name = "<CLUSTER_NAME>"
location = "<YOUR-CLUSTER-ZONE>"
CLUSTER_NAME 是您在 Google Cloud Console 上的 GKE 集群列表中显示的名称。
然后您还需要使用 terraform google_container_node_pool
资源以相同的方式导入集群节点池。
【讨论】:
以上是关于将现有 GKE 集群添加到 terraform stat 文件的主要内容,如果未能解决你的问题,请参考以下文章
在 GKE 集群上使用 Terraform 部署 Helm 工作负载