Helm chart deployment with volumeClaimTemplates
- Dominant language
- Java
- Stars
- 6.1k
- Forks
- 1.5k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 195
Description
Hi, we deploy pinot on kubernetes using [this helm chart](https://github.com/apache/incubator-pinot/blob/master/kubernetes/helm/pinot).
Initially, we set [persistence.enable](https://github.com/apache/incubator-pinot/blob/master/kubernetes/helm/pinot/templates/controller/statefulset.yaml#L83) to false and we start working on using persistent volumes and set it to true. But we are getting
```StatefulSet.apps "pinot-server" is invalid: spec: Forbidden: updates to statefulset spec for fields other than 'replicas', 'template', and 'updateStrategy' are forbidden```
After a quick search, I realize it's because volumeClaimTemplates is immutable so users can not update it once it's set.
- My first question is that what's the recommended way to migrate a helm deployment from `persistence.enable = false` to `persistence.enable = true`?
A more common issue that many people are facing is to resize the pv. There is an open Kubernetes Enhancement to support StatefulSet volume resize kubernetes/enhancements#1848. Before that's shipped, it seems what people are doing right now is to have a new cluster and then migrate the data from the old cluster to the new cluster. https://github.com/kubernetes/kubernetes/issues/68737#issuecomment-451134133
It seems there are also some folks able to [manually resize the PV.](https://github.com/kubernetes/kubernetes/issues/68737#issuecomment-469647348). This is definitely a hack, but I'm testing if it works with helm + pinot.
- My second question is what's the recommend way for pinot to resize the volume?
Thanks!
Contributor guide
Research direction
Start with kubernetes/helm/pinot and templates/controller/statefulset.yaml, especially the persistence.enable setting and volumeClaimTemplates behavior. Review the linked Kubernetes StatefulSet and volume-resize references, then document the supported migration and resize procedures for Pinot deployments. Done means users have clear, verified guidance for both scenarios.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- helm, kubernetes
- Domain
- devops, infrastructure
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100