0

假设我有一个现有的 GKE 集群,其中包含我的所有应用程序。它们都使用不同的方法进行部署。现在我想使用 Terraform 将一些资源部署到该集群。这里的问题是 terraform 在他的状态文件中看不到它,因此它无法与之交互。另一个问题是,即使我将该集群添加到我的状态文件中,terraform 也不会看到该集群中创建的所有资源。这可能会导致一些冲突,例如我正在尝试部署两个具有相同名称的资源。有没有办法解决这个问题,还是我只需要处理我存在的现实并为我使用 terraform 部署的每个新项目创建一个新集群?

4

1 回答 1

0

您可以使用 terraform import 命令将现有 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 集群列表中的名称。

然后,您还需要使用 terraformgoogle_container_node_pool资源以相同的方式导入集群节点池。

于 2021-08-11T15:24:43.797 回答