【K8S】删除PVC/PV 夯死

1.删除PVC 夯死 

[root@K8S1 soft]# kubectl delete pvc pvc-webdata01
persistentvolumeclaim "pvc-webdata01" deleted
...... 持续夯死。无法结束。

2.强制删除pvc

(1)
[root@K8S1 soft]# kubectl patch pvc pvc-webdata01 -p '{"metadata":{"finalizers":null}}' --type=merge
persistentvolumeclaim/pvc-webdata01 patched
(2)
[root@K8S1 soft]# kubectl delete pvc pvc-webdata01 --grace-period=0 --force
warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
Error from server (NotFound): persistentvolumeclaims "pvc-webdata01" not found
[root@K8S1 soft]# 

3.再次检查PVC已经被删除。

[root@K8S1 soft]# kubectl get pvc
NAME                                STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS       AGE
sspu-pvc-test                      Bound    pvc-5e52dd5a-47c7-4dbe-a186-5d443779809b   100Mi      RWX            nfs-storage-db01   23h
sspu-web-data-sspu-nginx-nfs5-0   Bound    pvc-42f2ba0b-4eff-4192-8097-d34e71bcbfff   50Mi       RWO            nfs-storage-db01   7h26m

4.强制删除pvc总结 。

在‌Kubernetes(K8S)中强制删除Persistent Volume Claim(‌PVC)可以通过以下步骤进行:
使用kubectl patch命令去除PVC的finalizers:这可以通过执行命令
kubectl patch pvc pvc-webdata01 -p '{"metadata":{"finalizers":null}}' --type=merge
来完成。这一步是必要的,因为finalizers可以阻止资源的删除。
强制删除PVC:在finalizers被移除后,可以使用
kubectl delete pvc <pvc-name> --grace-period=0 --force命令来强制删除PVC。
--grace-period=0参数表示立即删除,不等待正常的删除宽限期,而--force参数用于强制删除
,即使资源处于非终止状态也会尝试删除。
使用‌etcdctl工具:另一种方法是使用etcdctl工具直接连接到集群的etcd数据库,
找到要删除的PVC的数据并删除。这种方法需要更深入的技术知识和对etcd数据库的操作经验。
这些方法都应在谨慎评估风险后使用,因为强制删除PVC可能会导致数据丢失或其他潜在问题。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PV(Persistent Volume)和PVC(Persistent Volume Claim)是ubernetes中用于实现持久化存储的概念。 PV是集群中的一块存储资源,可以是物理存储设备、网络存储或云存储。PV与实际的存储资源进行绑定,并且可以被多个Pod共享。PV具有独立于Pod的生命周期,即使Pod被删除PV中的数据仍然保留。 PVC是Pod对PV的请求,类似于Pod对CPU和内存的请求。PVC定义了对PV的需求,包括存储容量、访问模式(例如读写单一或读写多个)、存储类别等。Pod可以通过声明一个PVC来请求与之绑定的PV。 动态供应是指Kubernetes集群中的存储插件可以根据PVC的需求自动创建PV,并将其与PVC绑定。动态供应的原理如下: 1. 首先,管理员需要配置一个或多个存储类(Storage Class)。存储类定义了一组存储插件和参数,用于创建PV。每个存储类都有一个唯一的名称。 2. 当Pod中声明了一个PVC,并指定了存储类名称,Kubernetes会自动查找匹配该存储类的插件。 3. 存储插件根据PVC的需求,自动创建一个PV,并将其与PVC绑定。 4. Pod可以通过声明一个与PVC绑定的Volume来使用这个PVKubernetes会自动将PV挂载到Pod中。 5. 当Pod被删除时,PV不会被立即删除,而是保留在集群中供其他Pod使用。管理员可以手动删除PV,或者根据策略自动回收。 总结来说,动态供应的原理就是Kubernetes根据PVC的需求和存储类的配置,自动创建PV并与之绑定,从而实现了动态的、按需的存储供应。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值