Commit Graph

35 Commits

Author SHA1 Message Date
k8s-merge-robot
a275a045d1 Merge pull request #23914 from sky-uk/make-etcd-cache-size-configurable
Automatic merge from submit-queue

Make etcd cache size configurable

Instead of the prior 50K limit, allow users to specify a more sensible size for their cluster.

I'm not sure what a sensible default is here. I'm still experimenting on my own clusters. 50 gives me a 270MB max footprint. 50K caused my apiserver to run out of memory as it exceeded >2GB. I believe that number is far too large for most people's use cases.

There are some other fundamental issues that I'm not addressing here:
- Old etcd items are cached and potentially never removed (it stores using modifiedIndex, and doesn't remove the old object when it gets updated)
- Cache isn't LRU, so there's no guarantee the cache remains hot. This makes its performance difficult to predict. More of an issue with a smaller cache size.
- 1.2 etcd entries seem to have a larger memory footprint (I never had an issue in 1.1, even though this cache existed there). I suspect that's due to image lists on the node status.

This is provided as a fix for #23323
2016-04-17 00:06:31 -07:00
deads2k
ac4c545b91 add act-as powers 2016-04-14 12:49:10 -04:00
James Ravn
5bb0595260 Make deserialization cache size configurable
Instead of the default 50K entries, allow users to specify more sensible
sizes for their cluster.
2016-04-12 13:42:27 +01:00
Clayton Coleman
3474911736 Implement a streaming serializer for watch
Changeover watch to use streaming serialization. Properly version the
watch objects. Implement simple framing for JSON and Protobuf (but not
YAML).
2016-04-11 11:22:05 -04:00
k8s-merge-robot
3197f31cc6 Merge pull request #23554 from nikhiljindal/swaggerInRun
Automatic merge from submit-queue

genericapiserver: Moving InstallSwaggerAPI to Run

Ref https://github.com/kubernetes/kubernetes/pull/21190#discussion_r57494673

Moving InstallSwaggerAPI() from InstallAPIGroups() to Run(). This allows the use of InstallAPIGroups() multiple times or using InstallAPIGroup() directly.

cc @jianhuiz @kubernetes/sig-api-machinery
2016-04-02 08:19:25 -07:00
nikhiljindal
eeeaa6867a Moving InstallSwaggerAPI to Run 2016-03-28 23:04:14 -07:00
deads2k
e8fb35d4d8 refactor resource overrides as positive logic interface 2016-03-28 09:24:49 -04:00
goltermann
32d569d6c7 Fixing all the "composite literal uses unkeyed fields" Vet errors. 2016-03-25 15:25:09 -07:00
k8s-merge-robot
903972e628 Merge pull request #20313 from AdoHe/apiserver_tls_overwrite
Auto commit by PR queue bot
2016-03-25 00:02:24 -07:00
AdoHe
2302c6604f fix apiserver tls overwrite bug 2016-03-24 12:33:37 -04:00
nikhiljindal
1cccfc7074 Disabling swagger ui by default. Adding a flag to enable it 2016-03-23 13:19:22 -07:00
Harry Zhang
a4d04095d0 Refactor crlf & crypto 2016-03-21 20:20:05 +08:00
AdoHe
28e1d1af65 reduce component status probe timeout to 20s for quickly timeout 2016-03-14 22:18:55 -04:00
Madhusudan.C.S
8b7e56d242 Allow cross-group subresource registrations in the APIInstaller.
This allows subresources which belong to different API groups than
their parents to be registered in the APIInstaller and REST handlers
installed for them. The specific changes that makes this possible
are:

1. Allow subresource overrides to be specified while registering an
   API group.
2. Use those overrides in the APIInstaller while validating the
   resource/subresource group version to allow subresources which
   belong to a different group to be registered if they have an
   override specified.
3. Use the RESTMapper supplied in the override to map the REST paths
   to the correct subresource storage object, i.e. correct group
   version kinds.
2016-03-02 10:57:30 -08:00
deads2k
357aebc89c update long running to handle recommend watch mechanism 2016-02-24 10:20:25 -05:00
nikhiljindal
20ce4aed0e Adding hostname to groups discovery information 2016-02-18 11:58:11 -08:00
k8s-merge-robot
17325ef6ef Merge pull request #20501 from piosz/hpa-ga
Auto commit by PR queue bot
2016-02-18 06:52:39 -08:00
Daniel Smith
74400c33ae changes for cross-group moves 2016-02-15 21:39:00 +01:00
Rudi Chiarito
b46321c19f Fix Sprintf formatting in log message 2016-02-15 15:30:49 -05:00
nikhiljindal
e2bffac285 Moving installing swagger spec to generic api server 2016-02-10 18:33:47 -08:00
Nikhil Jindal
4606d1408b Merge pull request #20532 from nikhiljindal/genericServerAPIs
Moving /apis handler to generic api server
2016-02-05 13:13:57 -08:00
Daniel Smith
c399b49c29 Merge pull request #20431 from deads2k/tighten-api-installer
tighten api server installation for bad groups
2016-02-04 23:19:08 -08:00
nikhiljindal
d267ab5f92 Moving /apis handler to generic server 2016-02-04 17:58:13 -08:00
Nikhil Jindal
59820827d4 Merge pull request #20513 from nikhiljindal/apiserverExampleTest
Adding test for apiserver example
2016-02-04 11:28:58 -08:00
nikhiljindal
c7beb9078c Updating methods to return error rather than using glog.Fatalf 2016-02-03 16:00:45 -08:00
nikhiljindal
2aa28c6553 Adding test for apiserver example 2016-02-02 15:42:29 -08:00
deads2k
02dec92b1d tighten api server installation for bad groups 2016-02-01 15:25:14 -05:00
harry
1032067ff9 Replace runtime reference by pkg 2016-02-01 21:06:44 +08:00
Clayton Coleman
4d127dc969 Initialize API servers with negotiated serializers
Pass down into the server initialization the necessary interface for
handling client/server content type negotiation. Add integration tests
for the negotiation.
2016-01-22 01:10:22 -05:00
Clayton Coleman
125ef6fbc8 Support content-type negotiation in the API server
A NegotiatedSerializer is passed into the API installer (and
ParameterCodec, which abstracts conversion of query params) that can be
used to negotiate client/server request/response serialization. All
error paths are now negotiation aware, and are at least minimally
version aware.

Watch is specially coded to only allow application/json - a follow up
change will convert it to use negotiation.

Ensure the swagger scheme will include supported serializations - this
now includes application/yaml as a negotiated option.
2016-01-22 00:12:50 -05:00
nikhiljindal
2ad642d370 Merge registered and latest and move to apimachinery 2016-01-21 14:42:21 -08:00
Harry Zhang
936a11e775 Use networking to hold network related pkgs
Change names of unclear methods

Use net as pkg name for short
2016-01-15 13:46:16 +08:00
nikhiljindal
f8d6c56ba6 Extracting server run code to genericapiserver 2016-01-08 18:34:34 -08:00
nikhiljindal
87ce093c77 Moving API registration logic to generic api server 2015-12-30 14:22:14 -08:00
nikhiljindal
2d952aaa87 Extracting APIServer machinery code into a library 2015-12-16 13:54:23 -08:00