feat(helm) add namespaceOverride#1711
Conversation
|
Welcome @TheRealNoob! |
|
Hi @TheRealNoob. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
/ok-to-test |
|
so i see that one test failed, but i'm scratching my head wondering how that could be caused by my change here.....any pointers would be much appreciated |
|
@TheRealNoob I'm not sure we want to go down this avenue, but I'm open to being convinced. My main concern is that Helm doesn't have sub-charts, it has dependencies but these charts are just flattened to create a single "chart". Could you please explain what benefit you get from this pattern and why it's worth the implicit downsides? It seems to me that you're attempting to solve an issue in the layers above the chart by modifying the chart causing a leaking abstraction. |
|
One of the most popular use-cases for I can understand your hesitation to think I'm setting up some unique scenario but it is quite common
I see metrics-server as a staple of every monitoring stack, so I'm a bit surprised this hasn't been added before now to be honest |
|
@stevehipwell could i get a re-review please |
|
@TheRealNoob I'm familiar with the umbrella chart principal and why you might want to do this, but as a general rule of thumb it's not the kind of pattern that you want to be using for something as important as Metrics Server. |
It sounds like this is the crux of where we're not seeing eye to eye. Could I ask you to elaborate on why you see this as an unappealing implementation/solution? |
|
@stevehipwell I would really like to keep moving this PR forward with your support. I have looked into each SIG-instrumentation managed project and found that all of them which support helm charts already implement In addition to the above projects which already implement Because metrics-server is a staple of every monitoring stack, it should support the standard patterns operators use to deploy them. This is a purely opt-in feature with zero impact when unset -- the rendered output is identical to today's behavior. Lacking namespaceOverride doesn't make metrics-server safer -- it just forces users to manage it outside their unified deployment or deploy it to the wrong namespace. I'd welcome any specific technical concerns about this approach. |
|
@TheRealNoob do the charts you've linked to above have a governance process or are they free contribution? Free contribution charts generally tend towards exposing the the whole KRM API via the Helm chart values. This chart is explicitly opinionated with the aim to be the "correct" way to deploy Metrics Server with Helm. This change is not aligned with the aim of this Helm chart. |
|
@stevehipwell Where is the aim of the Helm chart documented? |
|
I understand your concern about exposing too much of the KRM API. However in this case, the user already has the ability to control the namespace via built-in Helm capabilities I'd also like to understand what you mean by this chart being "explicitly opinionated". If there's a documented design philosophy for this chart, I'd like to review it so I can align this PR accordingly. If it's an informal position, I think it's worth reconsidering given how broadly this pattern is accepted across the Kubernetes ecosystem. Ultimately, the other projects I've listed implemented namespaceOverride because their users asked for it -- the same is true here. An opinionated chart should still align with the expectations of the ecosystem it serves. |
|
/assign @stevehipwell |
|
/cc @skl |
|
@stevehipwell If you could spare some time to review please? I really don't want to see this sit several months again with no progress. |
stevehipwell
left a comment
There was a problem hiding this comment.
@TheRealNoob just a minor change.
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: TheRealNoob The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
compact helper logic Co-authored-by: Steve Hipwell <steve.hipwell@gmail.com>
|
/retest |
|
@TheRealNoob ci failed a couple of times, I wonder if you need another rebase? |
|
I merged main. I had a look at the failing test and I suspect it's just flaky. at the very least it's not related to this change since the test case is metrics-server's exposing CPU metrics; a e2e test. i saw this same error when i first opened the PR then later on it went away. perhaps run the test a few times until it passes? or I can add blank commits to trigger it? I'll wait for your thoughts. |
|
I see that the helm installed succeeded. log lines 243 - 260 show it installed to namespace=kube-system |
|
/retest-required |
skl
left a comment
There was a problem hiding this comment.
Also suggest adding namespaceOverride to README.md.
|
|
||
| - Add chart options to secure the connection between Metrics Server and the Kubernetes API Server. ([#1288](https://github.com/kubernetes-sigs/metrics-server/pull/1288)) _@mkilchhofer_ | ||
| - Add `unhealthyPodEvictionPolicy` to the Metrics Server PDB as a user enabled feature. ([#1574](https://github.com/kubernetes-sigs/metrics-server/pull/1574)) @peterabarr | ||
| - Add `namespaceOverride` which allows deploying to a namespace other than `.Release.namespace`. ([#1710](https://github.com/kubernetes-sigs/metrics-server/pull/1710)) @TheRealNoob |
There was a problem hiding this comment.
| - Add `namespaceOverride` which allows deploying to a namespace other than `.Release.namespace`. ([#1710](https://github.com/kubernetes-sigs/metrics-server/pull/1710)) @TheRealNoob | |
| - Add `namespaceOverride` which allows deploying to a namespace other than `.Release.namespace`. ([#1711](https://github.com/kubernetes-sigs/metrics-server/pull/1711)) @TheRealNoob |
What this PR does / why we need it:
adds support for
namespaceOverridein values file, useful if this chart is subcharted. For example, many people include myself probably subchart this as part of their "standard monitoring deployment" and want to direct metrics-server off to namespace=kube-system.Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)format, will close the issue(s) when PR gets merged):none