-
Notifications
You must be signed in to change notification settings - Fork 4.6k
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
Add support for enable-cadvisor-json-endpoints with Kubelet #10957
Add support for enable-cadvisor-json-endpoints with Kubelet #10957
Conversation
Hi @adrianmoisey. Thanks for your PR. I'm waiting for a kubernetes 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. Instructions 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/test-infra repository. |
/assign @KashifSaadat |
12d2df8
to
316242d
Compare
/ok-to-test |
2e0adcc
to
9f24e36
Compare
@hakman I can't tell if the failed tests are related to this change. Is there anything I need to do? |
This flag will be removed in 1.21. We need to consider if this is a good time to add support for that flag. |
This is something I thought about. Our situation is that we're currently upgrading from Kubernetes 1.17 to Kubernetes 1.18. Our monitoring service (datadog) doesn't have a workaround for the disabled I do realise that it's a bit strange adding a deprecated flag currently. I'm unsure what kOps' policy on this is. |
Maybe we could add it to 1.20 only? |
If we add this, we should validate the k8s version (i.e from 1.18 up to and including 1.20), but we can put this in any kOps version supported these k8s version. |
For my use-case I'd need it in 1.18. Is there any other way of manipulating the command line arguments that get sent to kubelet? |
I think the approach in the PR is fine. Just need that validation 0 |
Great! Anything I need to do? Also, who is responsible for cherry-picking it back into 1.18 and 1.19? Could I do that? |
You would have to add something similar to: kops/pkg/apis/kops/validation/validation.go Lines 513 to 518 in 9d8dec6
Regarding cherry-picking, we will take care of that at the end, but it will be to 1.20 and possibly 1.19, but for sure not 1.18. |
Done this. I was unsure of the values at the end of the line in https://github.com/kubernetes/kops/pull/10957/files#diff-ae412ac68b83570fd50e9d5d63873f060eb8f503f5e44be78d710076294c3285R521 Is that correct? |
No need for that, just the version check(s). |
Is there anything else needed from me? |
Please also squash all commits. |
9900a2b
to
e2ee843
Compare
Done |
if c.IsKubernetesGTE("1.18") && c.IsKubernetesLT("1.21") { | ||
allErrs = append(allErrs, field.Forbidden(kubeletPath.Child("enableCadvisorJsonEndpoints"), "enableCadvisorJsonEndpoints requires at least Kubernetes 1.18")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, my mistake. Please change and squash one more time.
if c.IsKubernetesGTE("1.18") && c.IsKubernetesLT("1.21") { | |
allErrs = append(allErrs, field.Forbidden(kubeletPath.Child("enableCadvisorJsonEndpoints"), "enableCadvisorJsonEndpoints requires at least Kubernetes 1.18")) | |
if c.IsKubernetesLT("1.18") && c.IsKubernetesGTE("1.21") { | |
allErrs = append(allErrs, field.Forbidden(kubeletPath.Child("enableCadvisorJsonEndpoints"), "enableCadvisorJsonEndpoints requires at Kubernetes 1.18-1.20")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, my mistake. Please change and squash one more time.
No worries, I should have caught that.
Fixed
e2ee843
to
253b91f
Compare
Kubernetes 1.18 disables this by default. For backwards compatibility with monitoring tools, it would be nice to be able to re-enable this. kubernetes/kubernetes#68522
@adrianmoisey: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. Instructions 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/test-infra repository. I understand the commands that are listed here. |
253b91f
to
9e18928
Compare
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: hakman The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
I think this was it. Thanks @adrianmoisey. |
Perfect! Thanks for the help! I really appreciate it. |
…-upstream-release-1.20 Automated cherry pick of #10957: Add support for enable-cadvisor-json-endpoints with Kubelet
…-upstream-release-1.19 Automated cherry pick of #10957: Add support for enable-cadvisor-json-endpoints with Kubelet
Kubernetes 1.18 disables this by default.
For backwards compatibility with monitoring tools, it would be nice to
be able to re-enable this.
kubernetes/kubernetes#68522