Kubernetes集群在删除PV/PVC时卡住

qacovj5a  于 2024-01-07  发布在  Kubernetes
关注(0)|答案(6)|浏览(199)

我一直在努力让我的简单的3节点Kubernetes集群运行。

  1. $ kubectl get nodes NAME STATUS ROLES AGE VERSION
  2. ubu1 Ready master 31d v1.13.4
  3. ubu2 Ready master,node 31d v1.13.4
  4. ubu3 Ready node 31d v1.13.4

字符串
我试着创建一个PVC,它永远停留在挂起状态。所以我删除了它,但现在它停留在终止状态。

  1. $ kubectl get pvc
  2. NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
  3. task-pv-claim Terminating task-pv-volume 100Gi RWO manual 26d


如何创建一个正确创建并可用于Kubernetes官方网站上描述的演示的PV?
PS:我使用kubespray来启动和运行它。
在我的Ubuntu 16.04虚拟机上,安装了Docker版本:

  1. ubu1:~$ docker version
  2. Client:
  3. Version: 18.06.2-ce
  4. API version: 1.38
  5. Go version: go1.10.3
  6. Git commit: 6d37f41
  7. Built: Sun Feb 10 03:47:56 2019
  8. OS/Arch: linux/amd64
  9. Experimental: false


先谢了。

dfuffjeb

dfuffjeb1#

第一个月
在清单文件中找到以下内容

  1. finalizers:
  2. - kubernetes.io/pv-protection

字符串
然后删掉
然后退出,并运行此命令以删除pv

  1. kubectl delete pv (pv name) --grace-period=0 --force

ssm49v7z

ssm49v7z2#

  1. kubectl patch pvc {PVC_NAME} -p '{"metadata":{"finalizers":null}}'

字符串
您需要修补PVC以将“finalizers”设置为null,这允许从节点上最终卸载,并且可以删除PVC。

uyto3xhc

uyto3xhc3#

您可以使用以下命令强制删除PV或PVC。

  1. #kubectl delete pvc <PVC_NAME> --grace-period=0 --force

字符串
就您而言

  1. #kubectl delete pvc task-pv-claim --grace-period=0 --force

pepwfjgg

pepwfjgg4#

对于快速的眼睛:

  1. kubectl patch pvc <pvc_name> -p '{"metadata":{"finalizers":null}}'
  2. kubectl delete pvc <pvc_name> --grace-period=0 --force
  3. kubectl patch pv <pv_name> -p '{"metadata":{"finalizers":null}}'
  4. kubectl delete pv <pv_name> --grace-period=0 --force

字符串

btxsgosb

btxsgosb5#

如果您的PV或PVC卡住,请删除相关Pod,您的终止状态PV或PVC将不再存在。

laawzig2

laawzig26#

如果你执行一个describe命令

  1. kubectl describe pvc <pvcname>

字符串
你可以看到正在使用和阻止删除的资源:

  1. Used By: <podname>


删除资源后,相关的pvc也会被删除。

相关问题