【问题标题】:Deleted k8s cluster in aws dashboard and now terraform is erroring out在 aws 仪表板中删除了 k8s 集群,现在 terraform 出错了
【发布时间】:2022-10-01 20:06:44
【问题描述】:

我在 terraform 中创建了一个 k8s eks 集群及其所有资源,但遇到了一些问题并通过 aws UI 删除了集群。现在,当我尝试运行 terraform 时,每个资源都会出现此错误Error: Get \"http://localhost/api/v1/persistentvolumes/efs-jupyter-shared-v2\": dial tcp 127.0.0.1:80: connect: connection refused。我尝试注释掉 terraform 中的所有资源并运行,但仍然遇到相同的错误。任何想法如何进行?

  • 一种方法是从状态文件中删除那些 Kubernetes/helm 资源。移除所有依赖于 Kubernetes 的区块。或者如果您不想弄乱状态文件,可以使用 terraform 重新创建然后销毁
  • 我什至无法重新创建。它试图刷新状态并失败,因为集群不存在。
  • 然后从状态文件中手动删除这些资源并将中断资源的计数设置为 0

标签: amazon-web-services kubernetes terraform terraform-provider-aws amazon-eks


【解决方案1】:

您需要清理 terraform 状态:

第一步是列出状态中的所有资源:

terraform state list

然后您可以删除您在 AWS 控制面板中删除的资源:

terraform state rm <resource_name>

最后,您可以运行您的 terraform 代码来重新创建资源。

【讨论】:

    【解决方案2】:

    在运行 terraform destroy 超时后,资源可能处于不一致的状态,这可能会在 terraform destroy 刷新状态时再次运行时导致此类连接被拒绝错误。

    要让 Terraform 绕过刷新状态阶段,只需发送 destroy 命令:

    terraform destroy -refresh=false
    

    【讨论】:

      猜你喜欢
      • 2022-01-01
      • 1970-01-01
      • 2021-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-01
      • 2021-03-16
      相关资源
      最近更新 更多