首页 > 其他分享 >namespace,pv 一直Terminating状态处理

namespace,pv 一直Terminating状态处理

时间:2023-05-15 18:13:03浏览次数:36  
标签:status kubectl pv -- namespace Terminating type metadata

1,namespace  Terminating状态处理

在k8s集群中进行测试删除namespace是经常的事件,而为了方便操作,一般都是直接对整个名称空间进行删除操作。
$ kubectl get ns qasim
NAME    STATUS        AGE
qasim   Terminating   24d
 

调用接口删除

开启一个代理终端
$ kubectl proxy
Starting to serve on 127.0.0.1:8001
再开启一个操作终端
将test namespace的配置文件输出保存
$ kubectl get ns qasim  -o json > qasim.json
删除spec下finalizers的内容及status部分的内容还有metadata字段后的","号,切记!
剩下内容大致如下:
{
    "apiVersion": "v1",
    "kind": "Namespace",
    "metadata": {
        "annotations": {
            "cattle.io/status": "{\"Conditions\":[{\"Type\":\"ResourceQuotaInit\",\"Status\":\"True\",\"Message\":\"\",\"LastUpdateTime\":\"2020-10-09T07:12:17Z\"},{\"Type\":\"InitialRolesPopulated\",\"Status\":\"True\",\"Message\":\"\",\"LastUpdateTime\":\"2020-10-09T07:12:18Z\"}]}",
            "lifecycle.cattle.io/create.namespace-auth": "true"
        },
        "creationTimestamp": "2020-10-09T07:12:16Z",
        "deletionTimestamp": "2020-10-09T07:12:22Z",
        "name": "qasim",
        "resourceVersion": "471648079",
        "selfLink": "/api/v1/namespaces/test",
        "uid": "862d311e-d87a-48c2-bc48-332a4db9dbdb"
    }
}

  

调接口删除
$ curl -k -H "Content-Type: application/json" -X PUT --data-binary @qasim.json http://127.0.0.1:8001/api/v1/namespaces/qasim/finalize
{
  "kind": "Namespace",
  "apiVersion": "v1",
  "metadata": {
    "name": "qasim",
    "uid": "fa898418-3a8c-4464-854c-3128ad7af3eb",
    "resourceVersion": "584891986",
    "creationTimestamp": "2021-12-16T03:00:34Z",
    "deletionTimestamp": "2022-04-11T07:59:18Z",
    "labels": {
      "kubernetes.io/metadata.name": "qasim"
    },
    "managedFields": [
      {
        "manager": "kubectl-create",
        "operation": "Update",
        "apiVersion": "v1",
        "time": "2021-12-16T03:00:34Z",
        "fieldsType": "FieldsV1",
        "fieldsV1": {"f:metadata":{"f:labels":{".":{},"f:kubernetes.io/metadata.name":{}}}}
      },
      {
        "manager": "kube-controller-manager",
        "operation": "Update",
        "apiVersion": "v1",
        "time": "2022-04-11T07:59:32Z",
        "fieldsType": "FieldsV1",
        "fieldsV1": {"f:status":{"f:conditions":{".":{},"k:{\"type\":\"NamespaceContentRemaining\"}":{".":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"NamespaceDeletionContentFailure\"}":{".":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"NamespaceDeletionDiscoveryFailure\"}":{".":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"NamespaceDeletionGroupVersionParsingFailure\"}":{".":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"NamespaceFinalizersRemaining\"}":{".":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}}}}}
      }
    ]
  },
  "spec": {
    
  },
  "status": {
    "phase": "Terminating",
    "conditions": [
      {
        "type": "NamespaceDeletionDiscoveryFailure",
        "status": "True",
        "lastTransitionTime": "2022-04-11T07:59:26Z",
        "reason": "DiscoveryFailed",
        "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"
      },
      {
        "type": "NamespaceDeletionGroupVersionParsingFailure",
        "status": "False",
        "lastTransitionTime": "2022-04-11T07:59:32Z",
        "reason": "ParsedGroupVersions",
        "message": "All legacy kube types successfully parsed"
      },
      {
        "type": "NamespaceDeletionContentFailure",
        "status": "False",
        "lastTransitionTime": "2022-04-11T07:59:32Z",
        "reason": "ContentDeleted",
        "message": "All content successfully deleted, may be waiting on finalization"
      },
      {
        "type": "NamespaceContentRemaining",
        "status": "False",
        "lastTransitionTime": "2022-04-11T07:59:32Z",
        "reason": "ContentRemoved",
        "message": "All content successfully removed"
      },
      {
        "type": "NamespaceFinalizersRemaining",
        "status": "False",
        "lastTransitionTime": "2022-04-11T07:59:32Z",
        "reason": "ContentHasNoFinalizers",
        "message": "All content-preserving finalizers finished"
      }
    ]
  }

   

补充:删除rancher的相关namespace(谨慎操作!!!)

kubectl patch namespace cattle-system -p '{"metadata":{"finalizers":[]}}' --type='merge' -n cattle-system

kubectl delete namespace cattle-system --grace-period=0 --force

kubectl patch namespace cattle-global-data -p '{"metadata":{"finalizers":[]}}' --type='merge' -n cattle-system

kubectl delete namespace cattle-global-data --grace-period=0 --force

kubectl patch namespace local -p '{"metadata":{"finalizers":[]}}' --type='merge' -n cattle-system

for resource in `kubectl api-resources --verbs=list --namespaced -o name | xargs -n 1 kubectl get -o name -n local`; do kubectl patch $resource -p '{"metadata": {"finalizers": []}}' --type='merge' -n local; done

kubectl delete namespace local --grace-period=0 --force

 

2,pv  Terminating状态处理

(1)可以执行如下命令强制删除(PV-NAME 替换成实际需要删除的 pv 名称):
$ kubectl patch pv pv-name -p  '{"metadata":{"finalizers":null}}'
  (2)再次查看可以发现该 pv 已被删除:

 

标签:status,kubectl,pv,--,namespace,Terminating,type,metadata
From: https://www.cnblogs.com/qianyuliang/p/17402724.html

相关文章

  • PHP命名空间(Namespace)初探
    探完闭包[查看],再探命名空间。对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结。命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误。这种情况下只要避免命名重复就可以解决,最常见的一种做法是约定......
  • 基于神经网络MPPT的PV光伏阵列控制系统simulink仿真
    1.算法仿真效果matlab2022a仿真结果如下:       2.算法涉及理论知识概要      A419Simulink是美国Mathworks公司推出的MATLAB中的一种可视化仿真工具。Simulink是一个模块图环境,用于多域仿真以及基于模型的设计。它支持系统设计、仿真、自动代码生成以......
  • S5PV210 | 裸机蜂鸣器实验
    S5PV210|裸机蜂鸣器实验目录S5PV210|裸机蜂鸣器实验电路原理DATASHEET(相关寄存器设置详解)2.2.7GPD0控制寄存器组2.2.7.1PortGroupGPD0ControlRegister(GPD0CON,R/W,Address=0xE020_00A0)2.2.7.2PortGroupGPD0ControlRegister(GPD0DAT,R/W,Address=0x......
  • S5PV210 | 裸机汇编LED闪烁实验
    S5PV210|裸机汇编LED闪烁实验目录S5PV210|裸机汇编LED闪烁实验原理图DATASHEET2.2.7PORTGROUPGPD0CONTROLREGISTER2.2.7.1PortGroupGPD0ControlRegister(GPD0CON,R/W,Address=0xE020_00A0)2.2.7.2PortGroupGPD0ControlRegister(GPD0DAT,R/W,Address......
  • S5PV210 | 裸机汇编LED流水灯实验
    S5PV210|裸机汇编LED流水灯实验目录S5PV210|裸机汇编LED流水灯实验开发板:1.原理图2.Datasheet相关3.代码3-1.代码实现(流水灯,仅作演示)3-2.工具mkv210_image代码4.运行SD卡启动5.参考开发板:1.原理图上图中,当按下POWER键后,VDD_5V和VDD_IO会产生5V和3.3V的电压,其中D26无......
  • S5PV210 | S5PV210 概述
    目录1.S5PV210概述1.1架构概述1.2S5PV210框图1.3S5PV210的主要特性1.3.1微处理器1.3.2内存子系统1.3.3多媒体1.3.4音频子系统1.3.5安全子系统1.3.6连通性1.3.7系统外设1.4惯例1.4.1寄存器R/W约定1.4.2寄存器值约定2.内存映射2.1内存地址映射2.1.1设备特定地址......
  • S5PV210 | 微处理器启动流程
    S5PV210|微处理器启动流程目录S5PV210|微处理器启动流程S5PV210启动概述S5PV210的启动顺序iROM(BL0)的启动顺序V210启动流程图第一次启动失败时的iROM第二次启动顺序用于引导代码描述的标题信息数据编写校验和示例代码S5PV210启动概述S5PV210支持从多种设备启动,如OneNAN......
  • 华为2288H V5服务器安装PVE
    获取PVE文件,存储到本地进入华为BMC管理系统点击远程控制点击HTML集成远程控制点击系统启动项点击软驱重启系统Xorg-configurecp/xorg.conf.new/etc/X11/xorg.confvi/etc/X11/xorg.confChangeDriverfrom"modeset"to"fbdev"startx余下步......
  • 500kW三相光伏并网逆变器的仿真模型: 1.光伏PV, DC/DC采用MPPT最大功率
    500kW三相光伏并网逆变器的仿真模型:1.光伏PV,DC/DC采用MPPT最大功率点跟踪控制;2.DC/AC采用功率_电流双闭环控制,有功功率和无功功率解耦控制+前馈补偿,SVPWM空间电压矢量调制;3.并网功率因数可调;4.并网电压和电流谐波畸变率THD1%。ID:3260689016816986......
  • PV_3Inverter:基于MATLAB/Simulink的太阳能光伏并网逆变器仿真模型。
    PV_3Inverter:基于MATLAB/Simulink的太阳能光伏并网逆变器仿真模型。其中,光伏MPPT控制采用扰动观测法(P和O法),三相逆变器模块包含PLL锁相环模块。仿真条件:MATLAB/SimulinkR2015bID:1980672325291894......