Argocd 应用程序资源在删除时卡住

ams*_*ten 12 kubernetes argocd

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

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

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

尝试使用 kubectl 删除应用程序名称--force标志以及--cascade=orphans应用程序资源以及 argocd 命名空间本身的标志。现在我让他们两个都陷入终止状态而没有进一步发展。

现在我陷入了困境,因为我无法以我知道的任何方式重新安装 argocd,因为资源和命名空间被标记为删除,而且我对我还可以尝试什么来摆脱它感到束手无策。悬空的应用程序资源。

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

小智 10

您似乎在删除 Argocd 中的悬空应用程序资源时遇到了困难。要解决此问题,您可以按照以下步骤操作:

  1. 确保取消设置终结器:验证是否已成功取消应用程序资源的终结器设置。您可以通过运行以下命令来实现此目的:

将 APP_NAME/CRD_NAME 替换为您的应用程序或有问题的资源的名称。

kubectl patch app APP_NAME -p '{"metadata": {"finalizers": null}}' --type merge
kubectl patch crd CRD_NAME -p '{"metadata": {"finalizers": null}}' --type merge
Run Code Online (Sandbox Code Playgroud)

删除应用程序:取消设置终结器后,您可以使用以下命令继续删除应用程序资源:shell

kubectl delete app APP_NAME
kubectl delete crd CRD_NAME
Run Code Online (Sandbox Code Playgroud)


小智 5

如果您的问题是命名空间无法删除,以下两个解决方案可能会帮助您\xef\xbc\x9a

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

希望它对您有帮助。

\n