当我们在一个文件上运行kubectl delete -f
时,这个问题出现了,该文件以某种方式包含了存在整个测试部署的名称空间的声明。
系统(不是由我们配置的,因此对我们来说有点模糊)有由OpenEBS系统提供的卷。
在删除的名称空间中,有一些pvc在OpenEBS上配置了pv。当命名空间被删除时,pvc被删除,所有pv也被删除。
我读了相当多的文档,但我没有找到一个明确的答案来回答我的问题。知道;
- pv没有作用域,所以不属于任何命名空间
- 如果删除PVC,则仅当
reclaimPolicy
设置为Delete
时才删除绑定PV(如果存在)
由于名称空间删除而删除PV的唯一情况是名称空间包含绑定到具有reclaimPolicy: Delete
的PV的PVC。因此,我们系统中所有配置的pv都有这个问题。还是我漏掉了什么?
基本流程如下:
- 当一个命名空间被删除时,该命名空间内的所有对象也将被删除
- 现在,如果在被删除的命名空间中有任何PVC那么它将被删除
- 根据规则,如果一个PVC被删除,那么当
reclaimPolicy
被删除时,它的有界PV也会被删除。
N。B:通常要删除PVC,首先你需要删除那些引用它的吊舱。要删除一个有界的PV首先你需要删除它各自的PVC。删除系统类似于:首先删除pod(引用PVC的pod),然后删除相应的PVC,然后删除PV(如果recainpolicy是delete)。