apache / apache/pinot

Helm chart deployment with volumeClaimTemplates

Open
#6,780 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.