【问题标题】:Argocd application resource stuck at deletionArgocd 应用程序资源在删除时卡住
【发布时间】:2022-07-01 07:03:52
【问题描述】:

我已经开始尝试使用 Argocd 作为我的集群设置的一部分,并将其设置为观看包含一些 yaml 文件的测试存储库,用于我想用于实验的小型应用程序。在对系统有所了解的同时,我断开了 repo 连接,我没有修复它,而是决定拥有我想要的东西,并决定进行全新安装,以便将其配置到我的实际项目中。

我在 Web UI 中按下了删除应用程序的按钮,但该应用程序卡住了。之后我读到添加 spec.syncPolicy.allowEmpty: true 并从应用程序 yaml 文件中删除 metadata.finalizers 声明。这不允许我删除应用程序资源。

然后我运行了一个以官方 manifests/install.yaml 作为参数的卸载命令,它清理了大多数已安装的资源,但留下了应用程序资源和命名空间。命令:kubectl delete -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

已尝试在应用程序资源以及 argocd 命名空间本身上使用 kubectl delete application NAME --force 标志和 --cascade=orphans 标志。现在我让他们两个都被困在没有进一步的情况下终止。

现在我被卡住了,因为我无法以任何我知道的方式重新安装 argocd,因为资源和命名空间被标记为删除,我不知道我还能按顺序尝试什么摆脱悬空的应用程序资源。

非常感谢任何和所有关于调查内容的建议。

【问题讨论】:

    标签: kubernetes argocd


    【解决方案1】:

    如果你的问题是命名空间无法删除,以下两种解决方案可能对你有所帮助:

    1. 查看删除过程中卡住了哪些资源,删除这些资源,然后删除ns
    2. 编辑 argocd 的命名空间,检查 spec 中是否有 finalizer 字段,删除该字段和该字段的内容

    希望对你有所帮助。

    【讨论】:

    • 我使用 kustomize 安装,删除整个安装时 CRD 卡住了。我们必须编辑 crd。
    【解决方案2】:

    我发现使用以下命令有很大帮助...

    kubectl api-resources --verbs=list --namespaced -o name | \
       xargs -n 1 kubectl get --show-kind \
       --ignore-not-found -n <namespace>
    

    ...极大地帮助识别“卡住”的资源。

    然后您必须使用一些 awk 来生成删除语句或 编辑资源以删除终结者,以便它们可以 已删除。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-21
      • 1970-01-01
      • 2022-07-08
      • 1970-01-01
      • 1970-01-01
      • 2012-10-20
      • 1970-01-01
      • 2018-05-03
      相关资源
      最近更新 更多