K8s-namesapce一直处于terminating状态

来自三线的随记

使用kubectl get ns 导出namespace的json格式信息

kubectl get namespace knative-serving -o json > tmp.json

删除spec段中的finalizers信息

"spec": {
  "finalizers": [
    "kubernetes"
   ]
},


重新通过k8s接口更新


需要考虑api server接口认证(header 认证)(也可以通过put到不需要认证的接口完成update)

注意通过 curl 等 http 交互工具请求的时候,http header 中 authorization: Bearer 后放置的是,k8s serviceaccount secret 中,token字段对应的内容,base64 解码后的值,即 eyJhbGci 开头的内容

authorization: Bearer xxxxxx
curl -k -H "Content-Type: application/json" -H "authorization: Bearer $(cat ./auth-token)" -X PUT --data-binary @/tmp/skynet.json https://api-server-address/api/v1/namespaces/{name space name}/finalize