GCP无法删除Composer环境:升级后旧环境删除失败求助
尝试将GCP上的Cloud Composer环境从2.4.1版本升级至2.8.1版本,已创建新版本环境,现需删除旧环境。使用Terraform删除资源时遇到错误:
DELETE operation on this environment failed 5 hours ago with the following error message:
DELETE operation failed. Polled operation status: DONE: Google Compute Engine: The subnetwork resource 'projects/my-project/regions/europe-west1/subnetworks/subnet-vpc' is already being used by 'projects/my-project/zones/europe-west1-b/instances/gk3-europe-west1-composer-241--pool-2-543ac353-w6l2'.
尝试删除GKE集群时仍报相同错误,使用Google CLI删除实例却提示实例不存在。
解决步骤
检查GKE集群节点池状态
先定位旧Composer关联的GKE集群,查看节点池是否有异常状态:gcloud container clusters describe <旧Composer对应的GKE集群名> --region europe-west1重点看输出里的
nodePools字段,确认是否存在TERMINATING等卡住的节点池。强制删除异常节点池
如果发现异常节点池,直接强制删除(节点池名称可从错误实例名提取,比如pool-2):gcloud container node-pools delete <异常节点池名> --cluster <旧Composer的GKE集群名> --region europe-west1 --force清理资源残留记录
即使CLI提示实例不存在,也执行一次强制删除命令,触发GCP内部状态同步:gcloud compute instances delete gk3-europe-west1-composer-241--pool-2-543ac353-w6l2 --zone europe-west1-b --force --quiet重新尝试删除旧环境
先在GCP控制台手动删除旧Composer环境,确认成功后,再回到Terraform执行:terraform refresh terraform destroy修复Terraform状态不一致
如果Terraform仍报错,手动移除本地状态中的旧环境资源:terraform state rm google_composer_environment.<旧环境资源的Terraform名称>之后再同步状态或重新执行销毁操作。
内容的提问来源于stack exchange,提问作者Ichrak

