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