全國咨詢/投訴熱線:400-618-4000

足球数据即时指数:5分鐘6步強制刪除kubernetes NameSpace小技巧

踢球者即时指数比分 www.148329.live 更新時間:2020年04月04日15時41分 來源:傳智播客

在使用kubernetes過程中,我們經?;嵊齙轎薹ㄉ境齆ameSpace的情況,但是如果一一去刪除NameSpace中資源比較麻煩。下面我們給大家介紹強制刪除NameSpace的方法。推薦了解linux云計算+運維開發課程。

一、查看已存在的NameSpace

[[email protected] ~]# 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信息

[[email protected] ~]# kubectl get namespace istio-system -o json > istio-system.json
[[email protected] ~]# 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小技巧

[[email protected] ~]# 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
[[email protected] ~]# kubectl proxy
Starting to serve on 127.0.0.1:8001

五、通過API執行強制刪除操作
[[email protected] ~]# curl -k -H "Content-Type: application/json" -X PUT --data-binary @istio-system.json //127.0.0.1:8001/api/v1/namespaces/istio-system/finalize
六、強制刪除確認
[[email protected] ~]# 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常用命令入門

{ganrao} 二码中特 山西大唐麻将手机下 姚记捕鱼的最新版本 幸运农场攻略微信群 体彩顶呱刮自助售卖机 118图库l论坛 四海龙王捕鱼游戏下 福州麻将教学视频 哈灵麻将老版本下载 追光娱乐苹果版下载 上海天天彩选4开奖走势图 香港王中王精选中特网 最新捕鱼游戏单机版 近十年欧冠冠军 安卓手机如何下载哈灵麻将 手机斗牛棋牌游戏