原因
这是由命名空间控制器无法删除的命名空间中仍存在的资源引起的。
此命令(使用kubectl 1.11+)将显示命名空间中保留的资源:
kubectl api-resources --verbs=list --namespaced -o name \
| xargs -n 1 kubectl get --show-kind --ignore-not-found -n <namespace>
方法
#!/bin/bash
NAMESPACE=ckad-prep
kubectl proxy &
kubectl get namespace $NAMESPACE -o json |jq '.spec = {"finalizers":[]}' >temp.json
curl -k -H "Content-Type: application/json" -X PUT --data-binary @temp.json 127.0.0.1:8001/api/v1/namespaces/$NAMESPACE/finalize