kubernetes 1.30 - [kep-3751] Finalizer管理变更

w8rqjzmb  于 5个月前  发布在  Kubernetes
关注(0)|答案(8)|浏览(57)

你想添加什么?

**### 任务

  1. 检查删除VolumeAttributesClass的finalizers
  2. 使用VolumeAttributesClass创建PVC
  • 为VAC添加finalizer以进行保护,Vac_admission_controller
  1. 使用VolumeAttributesClass更新PVC
  • 为VAC添加finalizer以进行保护,Vac_admission_controller
  1. 使用VolumeAttributesClass删除PVC
  • Vac_protection_controller用于删除
  1. 使用VolumeAttributesClass创建未绑定的PV
  • 为VAC添加finalizer以进行保护,Vac_admission_controller
  1. 使用VolumeAttributesClass删除PV
  • Vac_protection_controller用于删除**

为什么需要这个?
任务跟踪 kep-3751 kubernetes/enhancements#3780
任务板: https://github.com/orgs/kubernetes-csi/projects/72/views/1

zpgglvta

zpgglvta1#

/sig storage
/assign @sunnylovestiramisu
sq1bmfud

sq1bmfud2#

由于#119297的PR状况良好,我将根据变更开始着手处理。

cgyqldqp

cgyqldqp5#

你好,msau42和sunnylovestiramisu,我有一个关于这个功能的问题。我们真的需要保护VAC资源吗?

目前,我们只通过StorageObjectInUseProtection准入插件保护PV/PVC资源不被删除。这确保了现有的工作负载按预期运行,不会受到PV/PVC资源被删除的影响,除非工作负载也被删除。

然而,删除一个VAC资源不会影响任何现有的工作负载。无论VAC是否存在,都可以删除PV/PVC。那么为什么我们需要保护VAC资源呢?

顺便说一下,StorageClass资源也没有得到保护。

atmip9wb

atmip9wb6#

@carlory 我在想,因为VAC具有一些参数,如果删除了它并且只查看PV/PVC中的VAC名称,你实际上并不知道VAC设置了什么。但是对于StorageClass,参数大多是保留的吗?

zf9nrax1

zf9nrax17#

根据关于Feb 7, 2024的问题分级会议,我们需要在实施之前有一个详细的提案。
结论:现在添加终结器;使用通知器;记录可能发生的竞争;我们能否将此添加到现有的控制器、调整器中?

7lrncoxx

7lrncoxx8#

开放性问题是我们是否可以将此放入调整器:当我们处理修改卷时,我们可以添加/删除终结器。
然后我们还需要在provisioner中添加一些逻辑来处理创建/删除流程中的添加/删除终结器。

相关问题