-
Notifications
You must be signed in to change notification settings - Fork 866
Open
Labels
kind/bugSomething isn't workingSomething isn't working
Description
What happened:
当向现有的 Advanced StatefulSet 添加新的 VolumeClaimTemplate
时,StatefulSet 控制器在 processReplica
阶段会检测到 Pod 的存储配置与期望不符(storageMatches返回 false)。随后,控制器会尝试调用
UpdateStatefulPod 来原地更新现有的 Pod 及其 PVC。
由于 Kubernetes API Server 不允许对运行中 Pod 的 spec.volumes 字段进行原地修改(该字段在生产环境中除镜像外通常是不可变的)
What you expected to happen:
通过重建更新的方式对Pod进行更新
How to reproduce it (as minimally and precisely as possible):
- 创建一个具有 3 个副本及 1 个 volumeClaimTemplate 的 Advanced StatefulSet。
- 等待所有 Pod 正常运行并 Ready。
- 修改 StatefulSet 定义,在 spec.volumeClaimTemplates 列表中增加一个新的 PVC 模板。
- 查看控制器日志或 StatefulSet 的 Status/Events。你会发现控制器会持续报错 Forbidden,且 Pod 始终没有被触发重建。
Anything else we need to know?:
Environment:
- Kruise version: v1.4 and master branch
- Kubernetes version (use
kubectl version): - Install details (e.g. helm install args):
- Others:
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
kind/bugSomething isn't workingSomething isn't working