Commit Graph

692 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
k8s-merge-robot
d44457ebaf Merge pull request #23903 from zhouhaibing089/https-fix
Automatic merge from submit-queue

the component status health check should check whether the scheme of backend storage url is https or not

fix https://github.com/kubernetes/kubernetes/issues/23897, when querying the component status of etcd (backend storage), the scheme of url is not checked and use `http` always, this commit aims to fix this.
2016-04-16 20:22:57 -07:00
Clayton Coleman
0f95b91f96 Move /resetMetrics to DELETE /metrics
Reduces the surface area of the API server slightly and allows
downstream components to have deleteable metrics. After this change
genericapiserver will *not* have metrics unless the caller defines it
(allows different apiserver implementations to make that choice on their
own).
2016-04-15 11:44:17 -04:00
Daniel Smith
4c539bf082 Merge pull request #23490 from wojtek-t/remove_set_from_storage_interface
Remove Set() from storage.Interface.
2016-04-13 14:22:05 -07:00
k8s-merge-robot
f5e8e7453b Merge pull request #23806 from smarterclayton/streaming_watch
Automatic merge from submit-queue

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).

@wojtek-t @lavalamp
2016-04-13 05:18:17 -07:00
Chao Xu
f315ffd8b1 make default thirdparty resource preferredVersion; adding back discovery tests 2016-04-12 10:09:09 -07:00
k8s-merge-robot
acf9492cb1 Merge pull request #23660 from goltermann/vetclean
Automatic merge from submit-queue

Additional go vet fixes

Mostly:
- pass lock by value
- bad syntax for struct tag value
- example functions not formatted properly
2016-04-12 06:22:16 -07: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
zhouhaibing089
597fdede5a the component status health check should check whether the scheme of backend storage url is https or not 2016-04-08 07:26:27 +08:00
goltermann
696423e044 Vet fixes, mostly pass lock by value errors. 2016-04-06 11:27:40 -07:00
Wojciech Tyczynski
53f433f019 Remove Set() from storage.Interface. 2016-04-04 17:54:18 +02:00
Brendan Burns
be6c5b332b Add third party support to kubectl 2016-03-31 10:53:32 -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
b8e390a0f3 Merge pull request #22824 from brendandburns/enable
Auto commit by PR queue bot
2016-03-24 22:26:39 -07:00
Brendan Burns
1f5b4b8802 Address comments. 2016-03-24 15:44:31 -07:00
goltermann
34d4eaea08 Fixing several (but not all) go vet errors. Most are around string formatting, or unreachable code. 2016-03-22 17:26:50 -07:00
Brendan Burns
87a1635c93 Machine generated stuff 2016-03-22 14:41:37 -07:00
k8s-merge-robot
76acfd4b7d Merge pull request #22916 from liggitt/namespace-subresources
Auto commit by PR queue bot
2016-03-22 01:25:58 -07:00
Brendan Burns
a0fcbd1495 Enable third party resources. 2016-03-21 17:02:18 -07:00
CJ Cullen
5f3929f75d Add a SSHKey sync check to the master's healthz (when using SSHTunnels). 2016-03-17 19:14:25 -07:00
Mike Danese
e21ebbcac4 give the kubernetes service client ip session affinity 2016-03-17 09:38:22 -07:00
Jordan Liggitt
ad20045c8d Correctly identify namespace subresources in GetRequestInfo 2016-03-14 13:03:33 -04:00
k8s-merge-robot
5db0feb202 Merge pull request #22017 from caesarxuchao/fix-21955
Auto commit by PR queue bot
2016-03-10 14:37:43 -08:00
Madhusudan.C.S
fe26381c90 Support for both map-based and set-based selectors in extensions/v1beta1.Scale
Here are a list of changes along with an explanation of how they work:
1. Add a new string field called TargetSelector to the external version of
   extensions Scale type (extensions/v1beta1.Scale). This is a serialized
   version of either the map-based selector (in case of ReplicationControllers)
   or the unversioned.LabelSelector struct (in case of Deployments and
   ReplicaSets).
2. Change the selector field in the internal Scale type (extensions.Scale) to
   unversioned.LabelSelector.
3. Add conversion functions to convert from two external selector fields to a
   single internal selector field. The rules for conversion are as follows:
   i.   If the target resource that this scale targets supports LabelSelector
        (Deployments and ReplicaSets), then serialize the LabelSelector and
        store the string in the TargetSelector field in the external version
        and leave the map-based Selector field as nil.
   ii.  If the target resource only supports a map-based selector
        (ReplicationControllers), then still serialize that selector and
	store the serialized string in the TargetSelector field. Also,
	set the the Selector map field in the external Scale type.
   iii. When converting from external to internal version, parse the
        TargetSelector string into LabelSelector struct if the string isn't
	empty. If it is empty, then check if the Selector map is set and just
	assign that map to the MatchLabels component of the LabelSelector.
   iv.  When converting from internal to external version, serialize the
        LabelSelector and store it in the TargetSelector field. If only
	the MatchLabel component is set, then also copy that value to
	the Selector map field in the external version.
4. HPA now just converts the LabelSelector field to a Selector interface
   type to list the pods.
5. Scale Get and Update etcd methods for Deployments and ReplicaSets now
   return extensions.Scale instead of autoscaling.Scale.
6. Consequently, SubresourceGroupVersion override and is "autoscaling"
   enabled check is now removed from pkg/master/master.go
7. Other small changes to labels package, fuzzer and LabelSelector
   helpers to piece this all together.
8. Add unit tests to HPA targeting Deployments and ReplicaSets.
9. Add an e2e test to HPA targeting ReplicaSets.
2016-03-09 17:54:17 -08:00
k8s-merge-robot
89c9c24987 Merge pull request #21964 from caesarxuchao/fix-thirdparty-parameter
Auto commit by PR queue bot
2016-03-07 00:59:17 -08:00
k8s-merge-robot
a435537e27 Merge pull request #21966 from madhusudancs/scale-deployment-replicaset
Auto commit by PR queue bot
2016-03-04 14:40:10 -08:00
Madhusudan.C.S
fa0794098f Define etcd storage methods for replicationcontrollers/scale subresource.
Also register replicationcontrollers/scale subresource. Along with
registering the resource, also specify the cross-group override for the
subresource since Scale belongs belongs to autoscaling/v1 but
ReplicationController belongs to api/v1.
2016-03-04 11:02:37 -08:00
Madhusudan.C.S
9e99f9fa0e Register scale subresource for Deployments and ReplicaSets.
Define etcd registry methods for scale subresource in Deployments and
ReplicaSets. Register them with the API server.
2016-03-04 11:01:36 -08:00
k8s-merge-robot
d81d823ca5 Merge pull request #22393 from eparis/blunderbuss
Auto commit by PR queue bot
2016-03-02 18:51:56 -08:00
Eric Paris
5e5a823294 Move blunderbuss assignees into tree 2016-03-02 20:46:32 -05:00
Chao Xu
56bddbcae5 fix thirdparty discovery, add test 2016-02-25 14:13:28 -08:00
Chao Xu
4adb110516 adding a unit test 2016-02-25 11:09:26 -08:00
Wojciech Tyczynski
506899008f Parallelization of namespace deletion 2016-02-25 16:33:25 +01:00
Chao Xu
5b108acb38 fix ParameterCodec for thirdparty resource 2016-02-24 21:45:30 -08:00
Wojciech Tyczynski
4eadc5e97b Introduce RESTOptions to configure per-resource storage 2016-02-22 16:28:28 +01:00
k8s-merge-robot
aee2eb3977 Merge pull request #21434 from erictune/job-ga
Auto commit by PR queue bot
2016-02-22 00:12:54 -08:00
Chao Xu
39838745e5 Strip version when encoding discovery API objects at endpoints that exist since release 1.1 2016-02-19 15:05:20 -08:00
Eric Tune
da44473a38 Comment out test to fix later. 2016-02-19 11:20:58 -08:00
Eric Tune
d5f303d3d7 Fixed and added tests 2016-02-19 09:20:56 -08:00
Eric Tune
ab8cfb968f Enabled batch API group in apiserver 2016-02-19 09:20:56 -08:00
Eric Tune
98a801a37b Created batch API group and copied Job there
Modeled after on first commit (2fbc5bb) of piosz:hpa-ga (#20501).
2016-02-19 09:20:56 -08:00
k8s-merge-robot
5d7d0eea2e Merge pull request #20626 from nikhiljindal/serverIPInDiscovery
Auto commit by PR queue bot
2016-02-18 21:53:24 -08:00
k8s-merge-robot
f1cbaed60f Merge pull request #17493 from feihujiang/supportSubresourceOfServiceProxy
Auto commit by PR queue bot
2016-02-18 18:22:59 -08:00
nikhiljindal
20ce4aed0e Adding hostname to groups discovery information 2016-02-18 11:58:11 -08:00
k8s-merge-robot
5acdb92126 Merge pull request #21177 from laushinka/spelling-fixes
Auto commit by PR queue bot
2016-02-18 10:29:49 -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
feihujiang
ac9f890238 Support the subresource of service proxy 2016-02-18 15:16:05 +08:00
laushinka
7ef585be22 Spelling fixes inspired by github.com/client9/misspell 2016-02-18 06:58:05 +07:00
Madhusudan.C.S
ab1e9c200f Graduate DaemonSet to v1beta1 API, enable it by default. 2016-02-17 15:03:12 -08:00
k8s-merge-robot
0866c377e9 Merge pull request #18010 from feihujiang/supportSubresourceOfNodeProxy
Auto commit by PR queue bot
2016-02-17 08:15:50 -08:00
feihujiang
e85253916f Support the subresource of node proxy 2016-02-16 17:02:45 +08:00
George Tankersley
31463502ec Fix comment typo 2016-02-15 21:05:51 -08:00
Piotr Szczesniak
264c64ec0d Enabled autoscaling API group in apiserver 2016-02-15 21:39:00 +01:00
Piotr Szczesniak
d9705940d6 Fixed and added tests 2016-02-15 21:39:00 +01:00
Piotr Szczesniak
2fbc5bb767 Created autoscaling API group and copied HPA there 2016-02-15 21:39:00 +01:00
k8s-merge-robot
94b8554c91 Merge pull request #21033 from nikhiljindal/swaggerspecInGenericServer
Auto commit by PR queue bot
2016-02-14 11:39:56 -08:00
Janet Kuo
2874f30c05 Enable Deployments by default 2016-02-12 12:29:14 -08:00
nikhiljindal
e2bffac285 Moving installing swagger spec to generic api server 2016-02-10 18:33:47 -08:00
Madhusudan.C.S
e7a9f30936 Address review comments. 2016-02-09 15:50:01 -08:00
Madhusudan.C.S
ed7ad6dcf3 Make deployments work. 2016-02-08 21:27:49 -08:00
Paul Weil
619ccb7023 don't enable psp by default and fix comment 2016-02-08 08:56:52 -05:00
Jan Chaloupka
4389b3f0d6 Rewritte util.* -> wait.* wherever reasonable 2016-02-07 12:02:20 +01:00
Madhusudan.C.S
48c4173f5f Enable ReplicaSets in e2e tests. 2016-02-06 03:46:17 -08:00
Madhusudan.C.S
4f9b8b2bfc Link all the ReplicaSet controller boilerplate together.
1. Enable replica set in controller manager.
2. Enable replica set etcd storage in master package.
3. Add replica set support to kubectl commands.
2016-02-05 21:05:10 -08:00
Daniel Smith
60cc5d10b7 Merge pull request #20013 from spxtr/fix-ssh
Retry SSH connection for E2E log gathering.
2016-02-05 15:52:34 -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
Paul Weil
03261146b0 api 2016-02-05 08:45:50 -05: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
Wojciech Tyczynski
f23034d5da Reset more metrics before scalability tests 2016-02-04 11:47:13 +01:00
Joe Finney
7a59683e41 Retry SSH connection for E2E log gathering. 2016-02-03 16:06:02 -08:00
nikhiljindal
c7beb9078c Updating methods to return error rather than using glog.Fatalf 2016-02-03 16:00:45 -08:00
k8s-merge-robot
8d8de2efb4 Merge pull request #19314 from cjcullen/tunnels
Auto commit by PR queue bot
2016-02-02 19:46:06 -08:00
Jeff Lowdermilk
caa9433234 Merge pull request #20433 from lavalamp/fix-bad-rv
Add timeout, fix potential startup hang
2016-02-02 17:27:23 -08:00
CJ Cullen
04eb90a5d4 Make tunneler hold tunnels open and healthcheck vs. reopening every 5 minutes.
Also add a test for the Update() logic.
Reordered tunnels vs. storage initialization (prevent a nil ptr panic)
2016-02-02 12:00:29 -08:00
k8s-merge-robot
c5260c8c71 Merge pull request #20145 from mqliang/quorum-read
Auto commit by PR queue bot
2016-02-02 05:50:41 -08:00
Daniel Smith
4a7d70aef1 extend fake clock 2016-02-01 15:36:15 -08:00
harry
1032067ff9 Replace runtime reference by pkg 2016-02-01 21:06:44 +08:00
Chao Xu
90b4662d8d Add services/status path, and let the service controller uses Services.UpdateStatus() 2016-01-31 12:39:45 -08:00
Janet Kuo
3396db9510 Add rollback subresource; add rollback logic to deployment controller 2016-01-30 16:00:34 -08:00
mqliang
b0e06c14e5 add a knob to enable quorum read 2016-01-30 20:32:12 +08:00
Fabio Yeon
eb2c2d1af4 Merge pull request #20111 from fabioy/fix-tmp-tests
Add temp directory creation method for tests.
2016-01-29 09:51:12 -08:00
Paul Morie
9030f16071 Move ConfigMap to main API 2016-01-28 17:07:05 -05:00
Fabio Yeon
7205a160ac Remove all instances of "/tmp" from unit tests and replace with a common
tmp directory creator. Exception is documented.
2016-01-27 16:11:22 -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
nikhiljindal
2ad642d370 Merge registered and latest and move to apimachinery 2016-01-21 14:42:21 -08:00
Alex Mohr
d2d349bc84 Merge pull request #19334 from resouer/network
Networking should be used to hold network related pkgs
2016-01-21 10:26:13 -08:00
deads2k
14396fc464 add subject access review types 2016-01-20 08:24:15 -05: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
k8s-merge-robot
c059dfdb9b Merge pull request #18712 from pmorie/config-kubectl
Auto commit by PR queue bot
2016-01-13 13:51:29 -08:00
David Oppenheimer
8ac484793d Comment out calls to httptest.Server.Close() to work around
https://github.com/golang/go/issues/12262 . See #19254 for
more details. This change should be reverted when we upgrade
to Go 1.6.
2016-01-11 23:02:11 -08:00
Paul Morie
9c18067e60 Add kubectl support for ConfigMap 2016-01-06 09:03:39 -05:00
nikhiljindal
87ce093c77 Moving API registration logic to generic api server 2015-12-30 14:22:14 -08:00
Chao Xu
2b5b708b70 Refactor the API registration and installation 2015-12-23 22:44:25 -08:00
k8s-merge-robot
44fc4d3f34 Merge pull request #18484 from brendandburns/3rdparty5
Auto commit by PR queue bot
2015-12-19 10:12:35 -08:00
Brendan Burns
e594407ab5 Add dynamic APIs to the list of discoverable APIs 2015-12-18 14:03:43 -08:00
deads2k
9fda7f1812 update StatusDetails to handle Groups 2015-12-17 09:14:12 -05:00
nikhiljindal
2d952aaa87 Extracting APIServer machinery code into a library 2015-12-16 13:54:23 -08:00