kubernetes / enhancements

Enhancements tracking repo for Kubernetes
Apache License 2.0
3.42k stars 1.48k forks source link

[Beta: 1.31] Consistent Reads from Cache #2340

Open shekhar-rajak opened 3 years ago

shekhar-rajak commented 3 years ago

Enhancement Description

Kubernetes Get and List requests are guaranteed to be "consistent reads" if the resourceVersion parameter is not provided. Consistent reads are served from etcd using a "quorum read".

But often the watch cache contains sufficiently up-to-date data to serve the read request, and could serve it far more efficiently.

This KEP proposes a mechanism to serve most reads from the watch cache while still providing the same consistency guarantees as serving the read from etcd.

All tasks done for beta

serathius commented 4 months ago

Done

serathius commented 4 months ago

Visible impact on perfdash https://perf-dash.k8s.io/#/?jobname=gce-5000Nodes&metriccategoryname=APIServer&metricname=LoadResponsiveness_Prometheus&Resource=pods&Scope=namespace&Subresource=&Verb=LIST

dipesh-rawat commented 3 months ago

Hey again @serathius👋, 1.31 Enhancements team here,

Just checking in as we approach code freeze at 02:00 UTC Wednesday 24th July 2024 / 19:00 PDT Tuesday 23rd July 2024.

Here's where this enhancement currently stands:

With all the implementation(code related) PRs merged as per the issue description:

@serathius To finalize the current status of the enhancement, could you please clarify if PR https://github.com/kubernetes/kubernetes/pull/123472 needs to be tracked as part of this KEP, given this enhancement https://github.com/kubernetes/enhancements/issues/2340 is mentioned in the description?

Additionally, please let me know if there are any other PRs in k/k not listed in the description that we should track for this KEP, so that we can maintain accurate status.

serathius commented 3 months ago

Hey @dipesh-rawat, thanks for reaching out. All the coding work has been completed for the Beta milestone.

The only work left is documentation and blogpost.

dipesh-rawat commented 3 months ago

@serathius Thanks for the confirmation (here) that the coding work is complete.

With all the implementation(code related) PRs merged as per the issue description:

This enhancement is now marked as tracked for code freeze for the 1.31 Code Freeze!

sreeram-venkitesh commented 3 months ago

@serathius Going through open PRs in k/k, I could find https://github.com/kubernetes/kubernetes/pull/125605 which is related to this KEP. Can you please confirm if this PR is part of the implementation for this KEP? The only file change seems to be in a test file. If so, please make sure to get it merged before the test freeze deadline (01:00 UTC Wednesday 31st July 2024 / 19:00 PDT Tuesday 30th July 2024).

serathius commented 3 months ago

No, this PR is not related, however we were kicked out of Beta with https://github.com/kubernetes/kubernetes/pull/126139 :(

Working on a fix in https://github.com/kubernetes/kubernetes/pull/126264, but due to limited capacity of reviews might not get in before code freeze.

sreeram-venkitesh commented 3 months ago

Ohh :(

So with https://github.com/kubernetes/kubernetes/pull/126139 merged, the feature gate is flipped back although all the code was merged, correct?

serathius commented 3 months ago

So with https://github.com/kubernetes/kubernetes/pull/126139 merged, the feature gate is flipped back although all the code was merged, correct?

Yes

sreeram-venkitesh commented 2 months ago

/milestone clear

sreeram-venkitesh commented 2 months ago

/milestone v1.31

tjons commented 1 month ago

Hi, enhancements lead here - I inadvertently added this to the 1.32 tracking board 😀

/remove-label lead-opted-in