我尝试删除我的 Amazon Elastic Kubernetes Service (Amazon EKS) 集群中的命名空间。但是,该命名空间卡在 Terminating(正在终止)状态。
简短描述
要删除命名空间,Kubernetes 必须先删除该命名空间中的所有资源。然后,Kubernetes 会检查已注册的 API 服务,以确认它们已移除对该命名空间中资源的所有引用。
命名空间可能会由于以下原因卡在 Terminating(正在终止)状态:
- 命名空间包含由于存在终结器而导致 Kubernetes 无法删除的资源。
- API 服务的状态为 False。
解决方法
完成以下步骤:
-
要编辑卡在 Terminating(正在终止)状态的命名空间的配置,请运行以下命令:
kubectl edit namespace TERMINATING_NAMESPACE
**注意:**请将 TERMINATING_NAMESPACE 替换为卡在 Terminating(正在终止)状态的命名空间。
-
移除配置中包含终结器的行。
示例:
finalizers:
- kubernetes
-
要应用更改,请保存并关闭文本编辑器。如果您使用 VIM,请键入 :wq 然后按 Enter。
-
要确认处于 Terminating(正在终止)状态的命名空间已移除,请运行以下命令:
kubectl get namespaces
对卡在 Terminating(正在终止)状态的其他所有命名空间重复上述步骤。
相关信息
Kubernetes 网站上的命名空间
Kubernetes 网站上的终结器