-
-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Helm Chart versions, values and upgrading #1884
Comments
OpenEBS has completely restructured their Helm charts since we built our v3.2.0 related charts. This now embeds charts for cStor, Jiva, and NFS as subcharts in the main chart where we deploy these as separate charts. This makes upgrading a bit of a mess. After thinking about this, I believe we've been handling Helm charts wrong from the very beginning of this project. We've been focused on just getting NEONKUBE clusters deployed but we haven't been thinking much about how we'll upgrade our code or existing clusters in the future (which makes sense until we release a first beta). The problem is that we've been manually editing Helm chart values and even other things like template files. This makes it tricky to upgrade Helm charts because we need to diff these files to identify the changes we've made and also identify upstream changes made to the official charts. We also pass some values explicitly to Helm when we install charts; more complexity. We should look into refactoring all of this:
This should make Helm chart upgrades dramatically easier. NOTE: I ran into this with OpenEBS because the Helm charts has dramatically diverged from what we currently have. They've maintained Helm chart backwards compatibility when folks just change values but we get no benefit from that since we're so different. I'm going to migrate OpenEBS to this new scheme now since I essentially have to do the 3-way diff anyway and it looks like we're already passing most custom values to Helm when installing. |
Here are some remaining upgrade related tasks:
|
We haven't really tried keeping our Helm chart versions in sync with the container images actually being deployed. Our thinking has been that chart versions don't matter because we're not storing these in a chart museum, etc.
This has worked fine for cluster setup, but might be problematic when the time comes to support upgrading NEONKUBE clusters. We should be able to upgrade Kubernetes, but we'll need to at least bump the versions of our charts for Helm to realize the chart has changed and that upgrade needs to be performed, right?
We really don't want to tackle cluster upgrades right now (or even spend time thinking about it). I think we should assume that clusters created by early users won't be completely up-gradable and perhaps not up-gradable at all. We should tag out early releases as beta with a warning about the possible lack of upgrades.
The text was updated successfully, but these errors were encountered: