我有一个kubernetes pod陷入"终止"状态,抵制pod删除
NAME READY STATUS RESTARTS AGE
...
funny-turtle-myservice-xxx-yyy 1/1 Terminating 1 11d
...
Run Code Online (Sandbox Code Playgroud)
funny-turtle从那时起删除的helm版本的名称在哪里.
输出:pod "funny-turtle-myservice-xxx-yyy" deleted
结果:它仍然显示在同一状态.- 也尝试过--force --grace-period=0,与额外警告相同的结果
警告:立即删除不等待确认正在运行的资源已终止.资源可能会无限期地继续在集群上运行.
结果: Error from server (NotFound): nodes "ip-xxx.yyy.compute.internal" not found
但它不存在.
所以我假设这个pod以某种方式与aws API"断开连接",从kubectl logs打印的错误消息推断.
我将采取任何建议或指导来解释这里发生的事情以及如何摆脱它.
试图查看"ghost"节点是否仍在那里(kubectl delete node ip-xxx.yyy.compute.internal)但它不存在.
如何强制删除停留在终止中的命名空间?
apiVersion: v1
kind: Namespace
metadata:
name: delete-me
spec:
finalizers:
- foregroundDeletion
Run Code Online (Sandbox Code Playgroud)
kubectl delete ns delete-me
无法删除delete-me。
我发现的唯一解决方法是销毁并重新创建整个集群。
这些都不起作用或修改命名空间。在所有这些之后,有问题的终结器仍然存在。
kubectl apply应用:
apiVersion: v1
kind: Namespace
metadata:
name: delete-me
spec:
finalizers:
Run Code Online (Sandbox Code Playgroud)
$ kubectl apply -f tmp.yaml
namespace/delete-me configured
Run Code Online (Sandbox Code Playgroud)
该命令无错误地结束,但是名称空间未删除。
下面的YAML具有相同的结果:
apiVersion: v1
kind: Namespace
metadata:
name: delete-me
spec:
Run Code Online (Sandbox Code Playgroud)
kubectl editkubectl edit ns delete-me,然后删除终结器。同上完全删除列表。同上删除spec。同上替换finalizers为空列表。
$ kubectl edit ns delete-me
namespace/delete-me edited
Run Code Online (Sandbox Code Playgroud)
这不会显示任何错误信息,但不会更新命名空间。kubectl edit再次查看该对象将显示终结器仍然存在。
kubectl proxy &kubectl …