kubernetes/examples/apiserver
Kubernetes Submit Queue cd560926bd Merge pull request #36889 from wojtek-t/reuse_fields_and_labels
Automatic merge from submit-queue

Reuse fields and labels

This should significantly reduce memory allocations in apiserver in large cluster.
Explanation:
- every kubelet is refreshing watch every 5-10 minutes (this generally is not causing relist - it just renews watch)
- that means, in 5000-node cluster, we are issuing ~10 watches per second
- since we don't have "watch heartbets", the watch is issued from previously received resourceVersion
- to make some assumption, let's assume pods are evenly spread across pods, and writes for them are evenly spread - that means, that a given kubelet is interested in 1 per 5000 pod changes
- with that assumption, each watch, has to process 2500 (on average) previous watch events
- for each of such even, we are currently computing fields.

This PR is fixing this problem.
2016-12-02 21:49:43 -08:00
..
rest Cache fields for filtering in watchCache. 2016-11-29 09:48:09 +01:00
server remove some options from mega-struct 2016-11-29 10:59:43 -05:00
apiserver.go split out authentication options 2016-11-29 10:59:43 -05:00
README.md Remove 'this is HEAD' warning on docs 2016-10-26 00:06:59 +02:00

API Server

This is a work in progress example for an API Server. We are working on isolating the generic api server code from kubernetes specific API objects. Some relevant issues:

This code here is to examplify what it takes to write your own API server.

To start this example api server, run:

$ go run examples/apiserver/server/main.go

Analytics