ocp集群删掉处于Terminating状态的namespace

目录

环境

现象

解决

根源

环境

ocp3.11

现象

昨天手贱打算把默认的prometheus-operator所在的openshift-monitoring这个namespace给删掉

# oc get ns |grep monitoring
openshift-monitoring              Terminating   8d

但是始终处于Terminating一直卡住。

解决

官方给了解决办法:https://access.redhat.com/solutions/4165791

1. 找到要移除的namespace

# oc get ns |grep monitoring
openshift-monitoring              Terminating   8d

2. 把terminating状态的namespace写入tmp.josn中

# oc get namespace openshift-monitoring -o json > tmp.json

3. 移除tmp.json中finalizers字段的值: kubernetes

 修改后的tmp.json

{
    "apiVersion": "v1",
    "kind": "Namespace",
    "metadata": {
        "annotations": {
            "alm-manager": "operator-lifecycle-manager.olm-operator",
            "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Namespace\",\"metadata\":{\"annotations\":{\"alm-manager\":\"operator-lifecycle-manager.olm-operator\",\"openshift.io/sa.scc.mcs\":\"s0:c88,c27\",\"openshift.io/sa.scc.supplemental-groups\":\"1007710000/10000\",\"openshift.io/sa.scc.uid-range\":\"1007710000/10000\"},\"creationTimestamp\":\"2021-03-30T10:52:52Z\",\"deletionTimestamp\":\"2021-04-07T09:44:03Z\",\"name\":\"openshift-monitoring\",\"namespace\":\"\",\"resourceVersion\":\"15879837\",\"selfLink\":\"/api/v1/namespaces/openshift-monitoring\",\"uid\":\"13419003-9146-11eb-8c99-005056a91cda\"},\"spec\":{},\"status\":{\"phase\":\"Terminating\"}}\n",
            "openshift.io/node-selector": "",
            "openshift.io/sa.scc.mcs": "s0:c88,c27",
            "openshift.io/sa.scc.supplemental-groups": "1007710000/10000",
            "openshift.io/sa.scc.uid-range": "1007710000/10000"
        },
        "creationTimestamp": "2021-03-30T10:52:52Z",
        "deletionTimestamp": "2021-04-07T09:44:03Z",
        "name": "openshift-monitoring",
        "resourceVersion": "16072265",
        "selfLink": "/api/v1/namespaces/openshift-monitoring",
        "uid": "13419003-9146-11eb-8c99-005056a91cda"
    },
    "spec": {
        "finalizers": [
            
        ]
    },
    "status": {
        "phase": "Terminating"
    }
}

4. 开启临时代理

# oc proxy

5. 另开一个终端,执行以下命令

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

6. 如果第5步出现 authorization errors

在集群master节点执行

# curl --cacert /etc/origin/master/ca.crt --key /etc/origin/master/admin.key --cert /etc/origin/master/admin.crt -k  -H "Content-Type: application/json" -X PUT --data-binary @tmp.json https://127.0.0.1:8443/api/v1/namespaces/openshift-monitoring/finalize

根源

见官方文档

https://access.redhat.com/solutions/4165791

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值