一、強(qiáng)制刪除pod
$ kubectl delete pod <your-pod-name> -n <name-space> --force --grace-period=0
解決方法:加參數(shù) --force --grace-period=0,grace-period表示過渡存活期,默認(rèn)30s,在刪除POD之前允許POD慢慢終止其上的容器進(jìn)程,從而優(yōu)雅退出,0表示立即終止POD
二、強(qiáng)制刪除pv、pvc
$ kubectl patch pv xxx -p '{"metadata":{"finalizers":null}}'
$ kubectl patch pvc xxx -p '{"metadata":{"finalizers":null}}'
直接刪除k8s etcd數(shù)據(jù)庫中的記錄!
三、強(qiáng)制刪除ns
在嘗試以下命令強(qiáng)制刪除也不好使:
$ kubectl delete ns <terminating-namespace> --force --grace-period=0
解決方法:
1)運(yùn)行以下命令以查看處于“Terminating”狀態(tài)的namespace:
$ kubectl get namespaces文章來源:http://www.zghlxwxcb.cn/news/detail-418376.html
2)選擇一個(gè)Terminating namespace,并查看namespace 中的finalizer。運(yùn)行以下命令:
$ kubectl getnamespace <terminating-namespace> -o yaml
輸出信息如下:
apiVersion: v1
kind: Namespace
metadata:
creationTimestamp: "2019-11-20T15:18:06Z"
deletionTimestamp: "2020-01-16T02:50:02Z"
name: <terminating-namespace>
resourceVersion: "3249493"
selfLink: /api/v1/namespaces/knative-eventing
uid: f300ea38-c8c2-4653-b432-b66103e412db
spec:
finalizers:
- kubernetes
status:
3)導(dǎo)出json格式到文件
$ kubectl getnamespace <terminating-namespace> -o json >tmp.json
4)編輯tmp.josn,刪除finalizers 字段的值
{
"apiVersion": "v1",
"kind": "Namespace",
"metadata": {
"creationTimestamp": "2019-11-20T15:18:06Z",
"deletionTimestamp": "2020-01-16T02:50:02Z",
"name": "<terminating-namespace>",
"resourceVersion": "3249493",
"selfLink": "/api/v1/namespaces/knative-eventing",
"uid": "f300ea38-c8c2-4653-b432-b66103e412db"
},
"spec": { #從此行開始刪除
"finalizers": []
}, # 刪到此行
"status": {
"phase": "Terminating"
}
}
5)開啟proxy
$ kubectl proxy
執(zhí)行該命令后,當(dāng)前終端會(huì)被卡住
6)打開新的一個(gè)窗口,執(zhí)行以下命令
$ curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json http://127.0.0.1:8001/api/v1/namespaces/<terminating-namespace>/finalize輸出信息如下:
{
"kind": "Namespace",
"apiVersion": "v1",
"metadata": {
"name": "istio-system",
"selfLink": "/api/v1/namespaces/istio-system/finalize",
"uid": "2e274537-727f-4a8f-ae8c-397473ed619a",
"resourceVersion": "3249492",
"creationTimestamp": "2019-11-20T15:18:06Z",
"deletionTimestamp": "2020-01-16T02:50:02Z"
},
"spec": {
},
"status": {
"phase": "Terminating"
}
}
7)確認(rèn)處于Terminating 狀態(tài)的namespace已經(jīng)被刪除
$ kubectl get namespaces
如果還有處于Terminating 狀態(tài)的namespace,重復(fù)以上操作,刪除即可!文章來源地址http://www.zghlxwxcb.cn/news/detail-418376.html
到了這里,關(guān)于k8s pod,ns,pvc 強(qiáng)制刪除的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!