-
Notifications
You must be signed in to change notification settings - Fork 517
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
clusterloader2/testing/load: Adjust kube-state-metrics latency tests #1774
Conversation
FYI @mrueg @brancz @tariq1890 this just enables it temporarily so we see the results in the 100 node presubmit tests. 🎉 |
@wojtek-t, this is the PR as discussed earlier. Thanks! |
Update: Seems like its failing to find the service object for kube-state-metrics, looking into it. |
@lilic |
@mrueg I took that from perf-tests/clusterloader2/pkg/prometheus/manifests/prometheus-prometheus.yaml Lines 18 to 28 in 5a6de85
|
Is it valid in k8s to have a non-numerical targetPort? Is it possible, that could be the reason it can't find the service? 5a6de85#diff-38d60ed161d961ff44471bdbfbdfef4c3a3c78d2baaec3bc4ba21cfc9c2cc5a2R17 |
@mrueg it worked correctly for
We can see the results of the latency test https://storage.googleapis.com/kubernetes-jenkins/pr-logs/pull/perf-tests/1774/pull-perf-tests-clusterloader2/1374398775702851584/artifacts/KubeStateMetricsLatency_load_2021-03-23T16:58:30Z.json About the non-numerical ports -> https://kubernetes.io/docs/concepts/services-networking/service/#multi-port-services
|
Thanks! I didn't know this was possible 👍 |
Update on this, KSM uses the "in-cluster" config, which is incompatible with kubemark this is why they are failing. Thanks @wojtek-t ! Added code to disable this KSM test when running in kubemark env. If all is green will take out the enabled by default parts and we can proceed with the other changes. |
kubmark passed as it was skipped and the other load test passed and these are the results for kube-state-metrics latency loads results for the 100 node cluster: First run:
Second run:
Will remove the other commits that enable the runs by default and remove the WIP. |
… Remove not needed templating
/hold cancel @wojtek-t do you might having a look, thank you! I will do the refactor you suggested in a separate PR if that's okay for you? |
@@ -33,6 +33,9 @@ type InitOptions struct { | |||
|
|||
// Features represents all features supported by this provider. | |||
type Features struct { | |||
// KubeStateMetricsTestDisabled determines if running kube-state-metrics is supported. | |||
KubeStateMetricsTestDisabled bool |
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.
We're trying to be positive in those (e.g. talk about features not about disabling something).
So instead of that, we should make it more like:
SupportKubeStateMetrics
Given that our tests run on GCE, it's probably enough to enable that just for gce cloud provider for now.
29c1a3b
to
b70877a
Compare
Currently enable KubeStateMetrics for GCE env only. As we use kubeconfig for kube-state-metrics and this is not supported in kubemark we cannot run those for kubemark env.
/lgtm Thanks! |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: lilic, wojtek-t 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 |
Enable kube-state-metrics to be run in the presubmit load tests.
/hold