• k8s 强制删除k8s资源


    强制删除namespace

    当删除ns 时候里面还有其他资源,那么就会导致删除不了ns ,一直处于Terminating 状态,然后再在此命名空间内部新增资源的时候就会导致失败,所以要强制删除。

    kubectl get namespace  monitoring -o json > monitoring.json

    vi monitoring.json 删除下面部分

     

    新增一个代理端口,代理的其实就是apiserver的非加密端口8080,运行此命令后会占用终端,需要再开一个窗口执行curl命令

    kubectl proxy --port=8081

    curl -k -H "Content-Type: application/json" -X PUT --data-binary @monitoring.json  http://127.0.0.1:8081/api/v1/namespaces/monitoring/finalize

    注意:在高版本的k8s中默认只开启了加密端口,所以需要手动开启api的非加密8080。例如通过kubeadm安装的集群可直接更改配置文件

    vi /etc/kubernetes/manifests/kube-apiserver.yaml

    把--insecure-port=0  改为 --insecure-port=8080 即可,等待几秒自动生效。

    解释:之所以通过8080 非加密端口执行删除命令,是因为加密端口需要证书认证。

    快捷方式: 一条命了搞定

    kubectl get namespace kube-node-lease  -o json | tr -d " " | sed "s/"finalizers": [[^]]+]/"finalizers": []/"  | kubectl replace --raw /api/v1/namespaces/kube-node-lease/finalize -f - 

    强制删除POD

    kubectl delete pod PODNAME --force --grace-period=0

     

    强制删除pv,pvc

    kubectl patch  persistentvolume pvc-63583510-95ba-461c-a71c-0b84c269be40  -p '{"metadata":{"finalizers":null}}'

    kubectl patch pvc pvc-common-rw-0   -p '{"metadata":{"finalizers":null}}' -n nlp

     

  • 相关阅读:
    My Eclipse
    那一夜,我被梦中笑醒的事之(数据库)
    KTV项目总结
    欢迎来到,数据库联盟!
    学习手工创建表,表关系以及用exists 来查询
    sql 将Null 值转化成空字符串
    jquery toggle
    推荐一个不错的配色网站
    css之zindex
    关于前后端分离与不分离
  • 原文地址:https://www.cnblogs.com/fanggege/p/14116049.html
Copyright © 2020-2023  润新知