为什么Kubernetes命名空间处于边缘状态?

kcrjzv8t  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(82)

我已经手动删除了argocd命名空间。果然,kubectl get ns不再列出它了。为什么kubectl get -n argocd application还能成功?

NAME      SYNC STATUS   HEALTH STATUS
grafana   OutOfSync     Missing

字符串
(Some Application也被列为HealthyProgressing。)
实际的问题是metadata.finalizers,在每个Application上,阻止了它的删除。我 * 可以 * 手动删除每个Applicationmetadata.finalizers(这确实会删除Application)。但是,为什么下面的方法也不起作用呢?

kubectl patch -n argocd application grafana  -p '[ { "op": "remove", "path": "/metadata/finalizers" } ]' --type=json
Error from server (NotFound): namespaces "argocd" not found


应用程序(application.argoproj.io/<app-name>)是返回的唯一资源

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

0lvr5msh

0lvr5msh1#

似乎删除的命名空间的一些Pod停留在终止状态,你可以运行这个:

for p in $(kubectl get pods | grep Terminating | awk '{print $1}'); do kubectl patch pod $p -p '{"metadata":{"finalizers":null}}' ;done

字符串

相关问题