传智播客旗下品牌:|||||

全国咨询/投诉热线:400-618-4000

5分钟6步强制删除kubernetes NameSpace小技巧

更新时间:2020年04月04日15时41分 来源:传智播客 浏览次数:

在使用kubernetes过程中,我们经常会遇到无法删除NameSpace的情况,但是如果一一去删除NameSpace中资源比较麻烦。下面我们给大家介绍强制删除NameSpace的方法。推荐了解linux云计算+运维开发课程。

一、查看已存在的NameSpace

[root@master1 ~]# kubectl get ns
NAME              STATUS        AGE
default           Active        56d
ingress-nginx     Active        49d
istio-system      Terminating   37d
kube-node-lease   Active        56d
kube-public       Active        56d
kube-system       Active        56d

二、获取需要强制删除的NameSpace信息

[root@master1 ~]# kubectl get namespace istio-system -o json > istio-system.json
[root@master1 ~]# cat istio-system.json
{
    "apiVersion": "v1",
    "kind": "Namespace",
    "metadata": {
        "annotations": {
            "kubectl。kubernetes。io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Namespace\",\"metadata\":{\"annotations\":{},\"labels\":{\"istio-injection\":\"disabled\",\"istio-operator-managed\":\"Reconcile\",\"operator。istio。io/component\":\"Base\",\"operator。istio。io/managed\":\"Reconcile\",\"operator。istio。io/version\":\"1。4。3\"},\"name\":\"istio-system\"}}\n"
        },
        "creationTimestamp": "2020-01-27T15:26:48Z",
        "deletionTimestamp": "2020-02-15T01:17:05Z",
        "labels": {
            "istio-injection": "disabled",
            "istio-operator-managed": "Reconcile",
            "operator.istio.io/component": "Base",
            "operator.istio.io/managed": "Reconcile",
            "operator.istio.io/version": "1.4.3"
        },
        "name": "istio-system",
        "resourceVersion": "6024170",
        "selfLink": "/api/v1/namespaces/istio-system",
        "uid": "d8bdc915-ee6f-43cd-ac37-5e353218095f"
    },
    "spec": {
        "finalizers": [
            "kubernetes"
        ]
    },
    "status": {
        "conditions": [
            {
                "lastTransitionTime": "2020-02-15T01:17:10Z",
                "message": "Discovery failed for some groups, 1 failing: unable to retrieve the complete list of server APIs: metrics。k8s。io/v1beta1: the server is currently unable to handle the request",
                "reason": "DiscoveryFailed",
                "status": "True",
                "type": "NamespaceDeletionDiscoveryFailure"
            },
            {
                "lastTransitionTime": "2020-02-15T01:17:13Z",
                "message": "All legacy kube types successfully parsed",
                "reason": "ParsedGroupVersions",
                "status": "False",
                "type": "NamespaceDeletionGroupVersionParsingFailure"
            },
            {
                "lastTransitionTime": "2020-02-15T01:17:13Z",
                "message": "All content successfully deleted, may be waiting on finalization",
                "reason": "ContentDeleted",
                "status": "False",
                "type": "NamespaceDeletionContentFailure"
            },
            {
                "lastTransitionTime": "2020-02-15T01:17:40Z",
                "message": "All content successfully removed",
                "reason": "ContentRemoved",
                "status": "False",
                "type": "NamespaceContentRemaining"
            },
            {
                "lastTransitionTime": "2020-02-15T01:17:13Z",
                "message": "All content-preserving finalizers finished",
                "reason": "ContentHasNoFinalizers",
                "status": "False",
                "type": "NamespaceFinalizersRemaining"
            }
        ],
        "phase": "Terminating"
    }
}

三、修改已获取的NameSpace信息文件
namespace小技巧

[root@master1 ~]# cat istio-system。json
{
    "apiVersion": "v1",
    "kind": "Namespace",
    "metadata": {
        "annotations": {
            "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Namespace\",\"metadata\":{\"annotations\":{},\"labels\":{\"istio-injection\":\"disabled\",\"istio-operator-managed\":\"Reconcile\",\"operator.istio.io/component\":\"Base\",\"operator.istio.io/managed\":\"Reconcile\",\"operator.istio.io/version\":\"1.4.3\"},\"name\":\"istio-system\"}}\n"
        },
        "creationTimestamp": "2020-01-27T15:26:48Z",
        "deletionTimestamp": "2020-02-15T01:17:05Z",
        "labels": {
            "istio-injection": "disabled",
            "istio-operator-managed": "Reconcile",
            "operator.istio.io/component": "Base",
            "operator。istio。io/managed": "Reconcile",
            "operator.istio.io/version": "1.4.3"
        },
        "name": "istio-system",
        "resourceVersion": "6024170",
        "selfLink": "/api/v1/namespaces/istio-system",
        "uid": "d8bdc915-ee6f-43cd-ac37-5e353218095f"
    },
    "spec": {
    },
    "status": {
        "conditions": [
            {
                "lastTransitionTime": "2020-02-15T01:17:10Z",
                "message": "Discovery failed for some groups, 1 failing: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request",
                "reason": "DiscoveryFailed",
                "status": "True",
                "type": "NamespaceDeletionDiscoveryFailure"
            },
            {
                "lastTransitionTime": "2020-02-15T01:17:13Z",
                "message": "All legacy kube types successfully parsed",
                "reason": "ParsedGroupVersions",
                "status": "False",
                "type": "NamespaceDeletionGroupVersionParsingFailure"
            },
            {
                "lastTransitionTime": "2020-02-15T01:17:13Z",
                "message": "All content successfully deleted, may be waiting on finalization",
                "reason": "ContentDeleted",
                "status": "False",
                "type": "NamespaceDeletionContentFailure"
            },
            {
                "lastTransitionTime": "2020-02-15T01:17:40Z",
                "message": "All content successfully removed",
                "reason": "ContentRemoved",
                "status": "False",
                "type": "NamespaceContentRemaining"
            },
            {
                "lastTransitionTime": "2020-02-15T01:17:13Z",
                "message": "All content-preserving finalizers finished",
                "reason": "ContentHasNoFinalizers",
                "status": "False",
                "type": "NamespaceFinalizersRemaining"
            }
        ],
        "phase": "Terminating"
    }
}

四、运行kube-proxy
[root@master1 ~]# kubectl proxy
Starting to serve on 127.0.0.1:8001

五、通过API执行强制删除操作
[root@master1 ~]# curl -k -H "Content-Type: application/json" -X PUT --data-binary @istio-system.json http://127.0.0.1:8001/api/v1/namespaces/istio-system/finalize
六、强制删除确认
[root@master1 ~]# kubectl get ns
NAME              STATUS        AGE
default           Active        56d
ingress-nginx     Active        49d
kube-node-lease   Active        56d
kube-public       Active       56d
kube-system       Active        56d


猜你喜欢

Linux基础教程:linux常用命令入门

javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

uids

北京校区

    14天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    8天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    0天免费试学

    基础班入门课程限时免费

    申请试学名额

    12天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    10天免费试学

    基础班入门课程限时免费

    申请试学名额
    广东11选5 广东11选5 广东快乐十分 广东快乐十分 极速3D 广东11选5 广东11选5 广东快乐十分 极速3D 广东11选5