Commit Graph

1758 Commits

Author SHA1 Message Date
David Eads 2e81ed6ee9 allow an SNI cert to be used to respond for a particular IP
Kubernetes-commit: 2c8639deb70c5934109022372caa32ca029db473
2019-11-14 16:08:11 -05:00
Ted Yu 006e524c38 Log mvcc revision compaction as warning
Kubernetes-commit: 9fec783d805ebdb05f1936dffd9621702eb0f711
2019-10-31 07:24:17 -07:00
Antonio Ojea e29a8f8fd0 clarify apiserver bind-address flag usage
From the listen godoc:

For TCP networks, if the host in the address parameter is empty or a
literal unspecified IP address, Listen listens on all available unicast
and anycast IP addresses of the local system.

Since the BindNetwork options is "tcp" by default, using an unspecified
address doesn't bind the listener to the IP family.

Kubernetes-commit: 05010d23ac7751a17aa26fb5cc011eb4f2127b1e
2020-01-04 10:51:48 +01:00
David Eads fe6638e697 prevent blocking wait in cert reloading
Kubernetes-commit: c14280e8d399b0db512989cfc33f8b1344d41f91
2019-12-18 08:41:57 -05:00
ialidzhikov a521baa66a Minor nit in error message about feature gate stage
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>

Kubernetes-commit: 1eaa0ee3f9553cce1821434ce64e745ba5b135d2
2020-01-01 15:54:06 +02:00
Bai Jianfei c8c7889d76 Count dropped requests except system previledged group requests.
Kubernetes-commit: b13e22482eac7a1964a8d1c900fe9e1908f67eee
2019-12-22 17:24:53 +08:00
danielqsj 98cc87df1f add missing alias of api errors under test
Kubernetes-commit: 6596a14d3920a0b4157f360f1aaa521f7965bf74
2019-11-12 16:43:58 +08:00
danielqsj 76c4ab8bb5 unify alias of api errors under pkg and staging
Kubernetes-commit: 5bc0e26c1902e7e28abfc828de19a2dbb3e492c2
2019-11-12 16:26:59 +08:00
Jin Hase 132e8e3270 Clean up kube-apiserver reference document
Kubernetes-commit: 49b6e40461766dc7785c99cd0be77b6db37d5d75
2019-12-24 21:21:06 +09:00
Antonio Ojea 223a85f36f apiserver: add localhost to alternateDNS for IPv6
apiserver adds localhost to the alternateDNS field
if the bind address is 0.0.0.0.
This PR considers the IPv6 unspecified address too.

Kubernetes-commit: 29ec87f769c6494fad5c0a0c624efe2dc6eeab13
2019-12-20 12:10:59 +01:00
sshukun 38b2d97314 Fix golint failure not contained in .golint_failures
Kubernetes-commit: 8110e08dd4abd4458b2d3793f5c1eb50069ae7df
2019-12-19 14:40:26 +09:00
Monis Khan 43f8cca801 kms: use negative cachesize value to disable caching
This change relaxes the KMS config cache size validation to allow
for negative values.  The KMS code already treats all values <= 0 to
mean that the cache is disabled (zero is still a validation error).

Signed-off-by: Monis Khan <mok@vmware.com>

Kubernetes-commit: a16808f353afb6abf402c862d5f859b949d2027a
2019-12-15 23:30:36 -05:00
Mike Danese 882be546f2 rename _count to _total in a few metrics
request_total is fully accumulating, fetch_total is mostly accumulating
except for the active label.

Kubernetes-commit: a84e883e4b39f6a040d479b5be89b0750f4e7bf1
2019-12-18 21:58:13 -08:00
Jianfei Bai f9ce5c1c1d Move added info and status stack trace to the end of line.
Kubernetes-commit: 5743cffd5d54e280a3dcaba8e690590a2167f71d
2019-12-13 10:53:04 +08:00
Alvaro Aleman 3d613a7c48 Remove stale comment re making apiserver common names dynamic
Kubernetes-commit: 1d3b6ece63604afb3b6e672f188eb34abc3fed4d
2019-11-29 15:14:29 +01:00
Mike Danese b522e43b1d auth: add metrics to token cache
Kubernetes-commit: 3f3bc37e05879ec97a64b4833a315a3c7b1186a4
2019-12-13 14:03:05 -08:00
Jordan Liggitt e00fbd05dd Use openapi fixture for server-side apply tests
Kubernetes-commit: 2b4fac5760ff390d46c2b9bb373feafe9bd97a38
2019-12-04 10:29:48 -05:00
Mike Danese 24aa429484 shared authenticator lookups
Kubernetes-commit: 8647e75cec684fce64280b6079ef174643548c53
2019-11-11 22:15:40 -08:00
chenjun.cj d1465bc6c3 fix potential memory leak issue in processing watch request
Kubernetes-commit: b911aa6471a83b1d2b4ea346e5c6b442dfa9b53b
2019-11-18 16:43:15 +08:00
Shihang Zhang 6207833539 ping kmsplugin gentely when in good state
Change-Id: I50ce249d7996e5c51dcbb00e53d67300aa72a87f

Kubernetes-commit: c084d57b18a7c90c14bc13dc2daa256e84037a74
2019-12-02 16:38:03 -08:00
Guangming Wang ab9ec5ee43 fix: replace TrimLeft with TrimPrefix and TrimRight with TrimSuffix
Kubernetes-commit: 51b7ef2c87e3321668fedecbbc02c1a16357033d
2019-12-02 21:27:15 +08:00
immutablet 5cec6b4746 Add defaulting logic for EncryptionConfiguration.
Kubernetes-commit: a151aa35dc21881d178e498141e5f58df13fb400
2019-11-14 22:53:18 -08:00
Jordan Liggitt 8c0dc1fdf9 Ensure webhook backend requests are not artificially rate-limited
Kubernetes-commit: d620493b7430c0f59d7393c3de8451d6a686c0c1
2019-12-02 11:39:16 -05:00
Jordan Liggitt 3aa0552959 Switch TableGenerator/TableConvertor interfaces to metav1
Kubernetes-commit: 36eb250cbb441984260ded6f7abeb796974031c3
2019-11-26 13:13:25 -05:00
Michael Gugino 7c6f3360ca Fix resource version precondition on pod delete
Attempting to add ResourceVersion precondition to
eviction requests results in a conflict failure. This
is due to the fact that we apply a deletion timestamp
which mutates the underlying resource.  The resource
version is then checked again later in the code.

This commit removes the ResourceVersion precondition
after the object has a deletion timestamp applied.

Related-Bug: https://github.com/kubernetes/kubernetes/issues/85485

Kubernetes-commit: 494629ef58c6d01607d610d3e757666356c0b18d
2019-11-21 17:38:01 -05:00
Ted Yu e5660b53e8 Output port as number in error message
Kubernetes-commit: c224a6de5e01455bcd89763f1483546496e41dcb
2019-11-22 13:12:59 -08:00
Michal Fojtik 84578a6062 apiserver: add Retry-After header to response when apiserver is shutting down
Kubernetes-commit: a3c82e8ae313a6ed97a63a4435438aa067225527
2019-11-20 17:30:52 +01:00
chenjun.cj 455e205726 use context to check client closed instead of http.CloseNotifier in processing watch request
Kubernetes-commit: 1daa08c5c8634af762b0352ff4a49bdef6924c5f
2019-11-18 21:27:05 +08:00
RainbowMango 5f15b07078 Hide apiserver metrics that have been deprecated in 1.15
Kubernetes-commit: 627a9abc9edb2b06c3b30e53ccd422e15c1f6ea1
2019-10-12 21:17:01 +08:00
RainbowMango de8c866328 Hide apiserver metrics that have been deprecated in 1.14
Update E2E test accordingly.

Kubernetes-commit: 5e0695e339ff0887ebebddfa8630de191f7fa235
2019-10-12 20:25:10 +08:00
Mike Danese 8d1e73feab inline GC in expiring cache
This allows us to drop the background goroutine with negligable
difference in performance.

Kubernetes-commit: d16dde36a3edf5cdb89c5d5b56d4e3c9af849c1c
2019-11-15 17:04:28 -08:00
Mike Spreitzer d0f4b93c91 Brushed up fairqueuing package
This commit responds to the comments on PR #85192 that were not yet
addressed at the time it merged, apart from the one fixed in PR

Generalized fairqueuing to allow for zero queues, to support a
priority level that limits concurrency but does no queuing.

Kubernetes-commit: b123a43e7117e977606bacd31d77f4a30d2ed212
2019-11-13 23:34:10 -05:00
Mike Spreitzer b017e16e12 Renamed FeatureGate RequestManagement to APIPriorityAndFairness
The old name is too broad, we wanted a name that is more specific to
the actual feature.

This is an alpha gate, and no release has yet associated any
functionality with this gate.

Kubernetes-commit: 76d090e30f917888c5882228f7261ed31a34a2ab
2019-11-14 01:34:59 -05:00
immutablet 6e01b8c8f3 Move test inputs for EncryptionConfiguration tests into testdata.
Kubernetes-commit: 883e9a0b502b787a9454e10c26e324ffaa30eb29
2019-11-13 16:38:20 -08:00
Mike Danese 0326ed9810 migrate token cache to cache.Expiring
Kubernetes-commit: 3f194d5b413daeba93063f4610b9951069eaf13c
2019-11-06 16:23:21 -08:00
Ted Yu 82980a5db1 Correct the checking of robinIndex
Kubernetes-commit: 2bdd379a1eb9d0344df41fff0339123849682e7c
2019-11-13 20:13:29 -08:00
Jordan Liggitt 54aa70b012 Add support for --runtime-config=api/beta=false, --feature-gates=AllBeta=false
Allow disabling all beta features and APIs

Kubernetes-commit: a5760dee812d280e4de203fccf58214051d0d62a
2019-10-12 09:59:14 -04:00
Antoine Pelisse bab2370cac Update structured-merge-diff to latest version
Kubernetes-commit: 4f0346530d3e228db20aca6bb484d3ed3c83e33b
2019-11-06 09:53:38 -08:00
Mike Spreitzer cd34d8d0ce Fixed lint and staticcheck oversights
Kubernetes-commit: e10acc78dee5d90d93fc7bc0e76e97bc7bc0b3a3
2019-11-13 09:20:00 -05:00
Mike Spreitzer 63ad2ccdad Brushing up queueset
(1) Replaced random-looking assortment of counter increments and
decrements with something hopefully more principalled-looking.  Most
importantly, introduced the MutablePromise abstraction to neatly wrap
up the complicated business of unioning multiple sources of
unblocking.

(2) Improved debug logging.

(3) Somewhat more interesting test cases, and a bug fix wrt round
robin index.

Kubernetes-commit: 1c31b2bdc65377f502c2306dbdf32a802eb1afb7
2019-11-13 01:52:05 -05:00
Aaron Prindle e231e56df2 review changes - *Locked updates
Kubernetes-commit: 6619df1798859d49bbb52b1c029533035384824e
2019-11-12 09:24:56 -08:00
Aaron Prindle 572fbfc84d review changes
Kubernetes-commit: 396e2d4aa33bb7289cd8e7466e4465f56a73b7d0
2019-11-12 08:51:49 -08:00
Aaron Prindle a222f282e1 fairqueuing implementation with unit tests
Kubernetes-commit: 24065cf5be6bed995da7b7abb37ee78ff95230f0
2019-10-29 21:54:16 -07:00
Mike Danese d8f26fe9f3 report cache mises in cached token authenticator benchmark
Kubernetes-commit: c5bfea65b9b45c01a09dfefeedffd13b8927140a
2019-11-12 12:40:19 -08:00
David Eads 0de0bb0422 dynamic reload cluster authentication info for aggregated API servers
Kubernetes-commit: 3aede35b3b042e8a626e8fb9e1e181e73cd29d0a
2019-11-04 13:46:28 -05:00
David Eads 79c6550889 allow individual ca bundles to be empty in union
Kubernetes-commit: 758f2ce44f82d68a1a67765823179c3f743e199d
2019-11-12 12:44:53 -05:00
Jordan Liggitt b858bded65 Promote WebhookAdmissionConfiguration to v1
Kubernetes-commit: 71fad812caf6be07be3c5eabe9fdc39c29f7b2a9
2019-11-12 09:43:35 -05:00
Jordan Liggitt 4b9c976f43 AdmissionConfiguration v1
Kubernetes-commit: 1234290adfa11eb3dd34242c296e1f1dbe211c19
2019-11-11 11:57:29 -05:00
David Eads 331894196f add featuregate inspection as admission plugin initializer
Kubernetes-commit: 675c2fb924e82091f7ce4601e48daf4cc7030e72
2019-11-05 14:28:40 -05:00
wojtekt ca6e794c60 Eliminate couple unnecessary conversions
Kubernetes-commit: 067d173266303c5c9a4281e962d3662c34a78053
2019-11-12 14:19:14 +01:00
Jordan Liggitt 52b3bfb8fa Switch kubelet/aggregated API servers to use v1 subjectaccessreviews
Kubernetes-commit: d54a70db5cfc0887e2f5177b0c3f795947be6eb4
2019-11-04 23:29:56 -05:00
Jordan Liggitt 086ad4b0b9 Switch kubelet/aggregated API servers to use v1 tokenreviews
Kubernetes-commit: 5ef4fe959a45e423d2b992e9c21e6e9db4b950c5
2019-11-04 22:41:32 -05:00
Mike Danese 61dd52533e adjust token cache benchmarks to get more accurate behavior
b.N is adjusted by pkg/testing using an internal heuristic:

> The benchmark function must run the target code b.N times. During
> benchmark execution, b.N is adjusted until the benchmark function
> lasts long enough to be timed reliably.

Using b.N to seed other parameters makes the benchmark behavior
difficult to reason about. Before this change, thread count in the
CachedTokenAuthenticator benchmark is always 5000, and batch size is
almost always 1 when I run this locally. SimpleCache and StripedCache
benchmarks had similarly strange scaling.

After modifying CachedTokenAuthenticator to only adjust iterations based
on b.N, the batch chan was an point of contention and I wasn't able to
see any significant CPU consumption. This was fixed by using
ParallelBench to do the batching, rather than using a chan.

Kubernetes-commit: 43d34882c9b3612d933b97b6e470fd8d36fe492b
2019-10-26 14:12:41 -07:00
Clayton Coleman 26a8fb1b92 test: Watch should fail immediately on negotiate errors
Instead of returning an error on the watch stream, if we can't properly
negotiate a watch serialization format we should error and return that
error to the client.

Kubernetes-commit: 9aad6aa54d824ba93a6670cd5a0cab6ad337e9f0
2019-11-03 15:08:22 -05:00
Dan Winship 0031a567fa Fix apiserver to advertise IPv6 endpoints if bound to IPv6
Also rename utilnet.ChooseBindAddress() to ResolveBindAddress(), to
better describe its functionality.

Kubernetes-commit: afa0b808f873b515c9d58a9ead788972ea7d2533
2019-10-30 10:46:46 -04:00
attlee-wang 6c2628ccd6 json unmarshal coded error at function applyJSPatch()
Kubernetes-commit: 1da2d00935942a887205f801d4b2acfa227055d2
2019-11-07 20:40:28 +08:00
David Eads 80b16c1ce7 allow a verifyoptionsfunc to indicate that no certpool is available
Kubernetes-commit: c672affad176c22da66c7ac17cc8805f08533ce9
2019-11-06 10:38:45 -05:00
Ted Yu 48d357e235 Stop Watching when there is encoding error
Kubernetes-commit: 639af77d463a4d07bc5d7d19366bd98310b55724
2019-11-07 14:32:47 -08:00
wojtekt 6fd9ceb0b8 Eliminate some default conversions
Kubernetes-commit: ccded1494116d6aa1ac3f4612b4a613b56a2044a
2019-11-06 14:02:27 +01:00
Joe Betz ee483f99bc Fix watch test to expect Expired instead of Gone
Kubernetes-commit: 57b451cfb6738fca45fc05cd50c1ff6d7240e3a7
2019-11-05 22:06:10 -08:00
Joe Betz 1ee386df74 Add HTTP 410 (Gone) status code checks to reflector and relist with RV=''
Kubernetes-commit: e2fe126d485af243d45f06bafd2ca83931881429
2019-10-09 16:45:32 -07:00
Mike Danese 44b9fc84ab migrate callers to g/g/uuid
Kubernetes-commit: a4ca9e6c93e45b4a97e7d04df37362299088f64a
2019-11-04 23:15:20 -08:00
chendotjs 73bcdb7730 Refactor the process to get ip address of loopback interface
Kubernetes-commit: d9cbad7ff197e61fe4ba3a66a7458b1bbaf36f61
2019-11-02 11:14:04 +08:00
Clayton Coleman 3d42d38e70 namespace: Provide a special status cause when a namespace is terminating
Clients should be able to identify when a namespace is being terminated and
take special action such as backing off or giving up. Add a helper for
getting the cause of an error and then add a special cause to the forbidden
error that namespace lifecycle admission returns. We can't change the forbidden
reason without potentially breaking older clients and so cause is the
appropriate tool.

Add `StatusCause` and `HasStatusCause` to the errors package to make checking
for causes simpler. Add `NamespaceTerminatingCause` to the v1 API as a constant.

Kubernetes-commit: a62c5b282fda7c0832d329cde45e5e0a836924e8
2019-10-19 22:57:21 -04:00
yue9944882 0db66ae3d6 non-generated api models misc
rule list

rule

rule 2

Kubernetes-commit: 7c28a4b70eb90977f620ba7374ea0a511fcb9515
2019-10-23 15:17:10 +08:00
Jack Kleeman c4dfb52a33 Dynamic SNI certificates
Reload SNI certificate cert and key file from disk every minute and notify
the dynamic certificate controller when they change, allowing serving
tls config to be updated.

Kubernetes-commit: d9adf535f35051be1d79d1309c72762939593d7c
2019-10-24 17:38:21 +01:00
immutablet 29f5d9ba4a Move the common logic of checking for kms-plugin's version into gRPC client interceptor.
Kubernetes-commit: d2b4723302e61efdd942d59801f18ae3ec24887a
2019-10-25 15:08:52 -07:00
wojtekt 0c1673664a Autogenerated code
Kubernetes-commit: 7b6bcdf780b778af3df5c133686ccb18d8c38fa0
2019-10-24 14:09:51 +02:00
wojtekt 920eb0f6f5 Cleanup explicitly registered functions
Kubernetes-commit: d7011f1bdbee285cdfc9bdb0f5b0716f4e02adfd
2019-10-24 13:18:31 +02:00
Wenjia Zhang e518fe04f6 Resolve uncompatibility from update: etcd CAFile -> TrustedCAFIle
Kubernetes-commit: 9ead9373f350c7ad438257a9e8b8977a67b900eb
2019-10-23 11:15:43 -07:00
Wenjia Zhang 41da2ced4c Replace github.com/coreos/etcd by go.etcd.io/etcd
Kubernetes-commit: 3b274fad2a719dc1fd0eaef6c55a0d344db10242
2019-10-15 22:38:43 -07:00
Jack Kleeman 51b8ce994d Dynamic serving certificate
Reload certificate cert and key file from disk every minute and notify
the dynamic certificate controller when they change, allowing serving
tls config to be updated.

Kubernetes-commit: 3f5fbfbfac281f40c11de2f57d58cc332affc37b
2019-10-22 19:10:40 +01:00
Daniel Smith 168addcfe5 Add an authn cache benchmark
Kubernetes-commit: 420a44da0138cb64fa5d4e9fab79d8be3527ffd8
2019-10-08 13:34:51 -07:00
David Eads 84d21cfff4 wire up a means to dynamically reload ca bundles for kube-apiserver
Kubernetes-commit: 6beb96261e29754f2b7d0e44829eb6d15422cebf
2019-10-07 14:06:42 -04:00
David Eads f0a6fac13c add dynamic cabundle from file
Kubernetes-commit: b0c272e1fb6782ca0b755294c6f9046995769553
2019-10-07 12:58:15 -04:00
Bruce Ma 87c35dc179 address some comments
Clean up useless functions, only keep the basic function Deal
and the function DealIntoHand which will be used by Priority
and Fairness.

Improve some comments for constants and functions.

Introduce Dealer to combine parameters and methods into a whole.

Use fixed-size slice to improve performance.

Use math.Ceil and math.Log2 to calculate required entropy bits.

Make the given hand adaptive to handSize in DealIntoHand.

Signed-off-by: Bruce Ma <brucema19901024@gmail.com>

Kubernetes-commit: 7a3ca070cdd9804a22bf5db8a99576b09fc52484
2019-10-11 20:06:31 +08:00
Mike Spreitzer a74f0d114b More work on shuffle sharding utils
Changes following up on shuffle sharding util package.

Made the validation checking function return a slice of error messages
rather than just a bit.

Replaced all the `int32` with `int` because this is intended for more
than just the priority-and-faireness feature and so should not be a
slave to its configuration datatypes.

Introduced ShuffleAndDealIntoHand, to make memory allocation the
caller's problem/privilege.

Made the hand uniformity tester avoid reflection, evaluate the
histogram against the expected range of counts, and run multiple test
cases, including one in which the number of hash values is a power of
two with four extra bits (as the validation check requires) and one in
which the deck size is not a power of two.

Kubernetes-commit: da0b647155912c6b1e6b971aa5685768915d810d
2019-08-08 14:53:40 -04:00
Bruce Ma bd6349fddb Add shuffle sharding utils and tests
Implement several shuffle sharding functions including ShuffleAndDeal,
ShuffleAndDealToSlice.

Add benchmarks and tests for shuffle sharding to test performance,
correctness and distribution uniformity.

Signed-off-by: Bruce Ma <brucema19901024@gmail.com>

Kubernetes-commit: e97eaef4f65ec2cbfebf4fd9e726c9e2a6bf5499
2019-07-29 18:01:08 +08:00
Jack Kleeman 40fefa1b37 Plumb dynamic SNI certificates
We create and use a dynamic certificate provider for the SNI serving
certificates. Currently we only use static serving certificate
providers, so the files are not reloaded, but we should be able to move
to a provider that is able to reload later on.

Kubernetes-commit: 84bc6b151d0726db0c737443874577f044e0e9c8
2019-10-08 19:03:56 +01:00
Ted Yu 0026dd975b etcd health check key should have proper prefix
Kubernetes-commit: f4941e265e1a41a1b8846eae61a4049785cabb7e
2019-10-21 17:03:24 -07:00
Han Kang 00d376192a rename metric for apiserver request terminations and reword corresponding documentation
Change-Id: I47a9c7b10614afe85bb652fa61984f91848d6d65

Kubernetes-commit: f8f1def5f1d92a588f48ebc01293e142f8dd63fd
2019-10-21 13:26:31 -07:00
Han Kang a5356f425d pluralize error metric name
Change-Id: I12eb94f41ded20ed5a16332ada13a7b34f75de18

Kubernetes-commit: 5e652fe12605027509870d5d7f821390f20b1cee
2019-10-08 15:49:12 -07:00
Han Kang 4a680138c0 Fix double counting issue for request metrics on timeout.
Currently we record request metrics during the normal request flow and
we also manually invoke `Record` in the timeout handler to record
timeouts. This means that we effectively double count whenever we
timeout. This PR renames the `Record` function to `RecordRequestError`
to more accurately reflect the intended side-effect of the function
call.

Change-Id: Ie37fd0c1e501bd525640a434433d364a5fd6dde2

Kubernetes-commit: 4c6e7247878477a1f2efc26df7f141258010374f
2019-10-02 15:04:29 -07:00
wojtekt a76d249b96 Tweak use of caching objects
Kubernetes-commit: c5170dfb66749b60a4a1611dc7b4a39e64b33e2e
2019-10-16 09:05:13 +02:00
immutablet 3079381054 Use single kms-plugin mock in unit and integration tests.
Kubernetes-commit: 4d24b41410f2253c7b2f9e2b6d56910894016c61
2019-10-11 15:25:05 -07:00
Jack Kleeman 8da4640a3d Plumb dynamic serving certificates
We create and use a dynamic certificate provider for the main apiserver
serving certificates: SNI will be handled separately later. Currently we
only use static serving certificate providers, so the files are not
reloaded, but we should be able to move to a provider that is able to
reload later on.

Kubernetes-commit: 6f89f1027488aeba4af0786988c2fd2ace9a6f1d
2019-10-07 18:49:24 +01:00
wojtekt b950ddfb46 Promote WatchBookmarks feature to GA
Kubernetes-commit: a22a4ed3c54d6e30edc972f501fbfddc789bea9b
2019-09-26 15:29:52 +02:00
David Eads 695d42bf49 wire dynamic tlsconfig up to apiserver
Kubernetes-commit: abddbd87cdcf69053e9fc6e752ade7d92c6b9fd7
2019-10-04 08:37:26 -04:00
shturec b054ff44ee custom retry strategy in GenericWebhook
Kubernetes-commit: 4877b0b7b50bdc3eaaadd3f968fd846c1396b708
2019-09-27 13:04:10 +03:00
David Eads bde5fd1449 choose a more unique request timeout default
Kubernetes-commit: e1dd9af8948f983d48dfc0dd81dc31b7d6c1672f
2019-05-30 15:17:40 -04:00
Monis Khan c2289feb1e Hash keys used in cached token authenticator
It is possible to configure the token cache to cache failures.  We
allow 1 MB of headers per request, meaning a malicious actor could
cause the cache to use a large amount of memory by filling it with
large invalid tokens.  This change hashes the token before using it
as a key.  Measures have been taken to prevent precomputation
attacks.  SHA 256 is used as the hash to prevent collisions.

Signed-off-by: Monis Khan <mkhan@redhat.com>

Kubernetes-commit: 9a547bca8e6e15273bfafd3496aa6524fd7d35bd
2019-10-11 15:21:34 -04:00
Bob Killen 01b17215e9 Prune inactive owners from staging/src/k8s.io/apiserver/* OWNERS files.
Kubernetes-commit: 20285dd4608d4dbe7c86a4997c8975bfbf6d1b1c
2019-10-12 19:35:18 -04:00
RainbowMango dfdab3a0c8 Remove direct reference to prometheus from apiserver/pkg/storage/value.
Kubernetes-commit: 78d0f1827acfb8400d6e1622d55bdfed64b047ed
2019-10-09 21:58:51 +08:00
David Eads 703545a3db add the ability for dynamic header names in delegated authentication
Kubernetes-commit: 58256346693717fd12f121f0cf74fe1e003edb0f
2019-10-03 12:56:42 -04:00
SataQiu 630eda2c9b eliminate direct references to prometheus
Kubernetes-commit: f99b4339681329779e44cd9f0c8ffdbabfeb6fcf
2019-10-10 11:18:52 +08:00
Jianfei Bai a5b9ca7482 feat(apiserver): add user-agent and remote info into trace log for endpoints handlers.
Kubernetes-commit: 91bddd13485082892be8e8e471e358be317c4e9b
2019-10-10 21:30:05 +08:00
Wojciech Tyczynski 5f538bd5e3 Optimize NegotiateMediaTypeOptions
Kubernetes-commit: 1baf4778ae130dc9c305736216b5f5024a962595
2019-10-10 11:49:31 +02:00
Jordan Liggitt c51b9411f6 Switch admission webhook config manager to v1
Kubernetes-commit: f247e75980061d7cf83c63c0fb1f12c7060c599f
2019-08-01 21:57:39 -04:00
immutablet 5035dae3d5 Replace deprecated methods in the logic involved in the construction of gRPC connection to kms-plugin.
Kubernetes-commit: e50c264c35a32200febde3b10838b2ef2f986c39
2019-10-07 15:57:47 -07:00
Daniel Smith 344ca1b3a8 increase auth cache size
Kubernetes-commit: 236112c6af9b22b02e35914fe8fbbdbfe856f975
2019-10-08 14:27:28 -07:00
RainbowMango 7687c3a4e8 Migrate prometheus bucket functionality to metrics stability framework.
Kubernetes-commit: 1f9ab1b85c5560a155b1702d1b5d28aa2d95a1b7
2019-09-12 17:10:44 +08:00
Tim Bannister 9e2288c881 Fix typo
Kubernetes-commit: bbccdcd8531a6377c1fe2937aef24f61caef43c4
2019-09-25 18:02:40 +01:00
jennybuckley 72d976a445 Cap the number of managedFields entries for updates at 10
Kubernetes-commit: 61b19c729892a150b61dde19359f6fb19e8d61f1
2019-09-26 12:53:28 -07:00
jennybuckley 49914e3423 Refactor fieldmanager to be more modular
Kubernetes-commit: d72260b9dad186d96aa621dc8594ca9bd6088937
2019-09-19 13:14:36 -07:00
David Eads 11d75d5283 refactor tlsConfig creation for secure serving
Kubernetes-commit: e7b41d08270f0b8035b423050e96c7affd4bd8e1
2019-10-04 09:52:49 -04:00
David Eads eee025a27a add ability to authenticators for dynamic update of certs
Kubernetes-commit: 51195dd86012c4c4b17a1707ef50a46fa046f74f
2019-09-05 09:59:59 -04:00
David Eads f591b4fabd add ability to pre-configure poststarthooks for apiservers
Kubernetes-commit: f14f4c933ee01d219ffbfa846875171e179019b7
2019-08-28 08:53:20 -04:00
Joe Betz 1b75e5416d Use same 'minimum resource version' semantics both when watch cache is enabled and disabled
Kubernetes-commit: 1406f7adf20a9ceaf5b8270ec9a61dd9e450ae8a
2018-12-04 16:55:59 -08:00
Jordan Liggitt f7fbf2eee4 Limit YAML/JSON decode size
Kubernetes-commit: 8ef4566cefebf49f9a806a36df2105c9149785a1
2019-09-27 16:36:48 -04:00
Daniel Smith 92d2515aca Don't leak a go routine on panic
Kubernetes-commit: a4ae7b9081f3ddedd0d588688215ddbe26274f75
2019-09-30 11:34:15 -07:00
Han Kang 7400a466d2 Explicitly handle returned error values in admission metrics_test
Kubernetes-commit: 774641ebdbdc7fe89380e7e1e77f5ebbe843ecec
2019-08-21 12:13:33 -07:00
Wojciech Tyczynski 20ecceebd3 Cache serializations
Kubernetes-commit: 25a728ae5eb0ae067d21679fad915c0555242470
2019-08-25 09:55:52 +02:00
Wojciech Tyczynski 4b6162fe6b CachingObject
Kubernetes-commit: 4cd81549f9a6a325183e6c43c831ecf79f434b8e
2019-08-25 06:16:49 +02:00
wojtekt 94a2664cd3 Implement support for CacheableObject
Kubernetes-commit: 970f103e2c079da98743db35e38fd411a64e2e04
2019-08-15 22:02:33 +02:00
wojtekt f186d58ea0 Fix transformObject to work with CacheableObject.
Kubernetes-commit: 1dd43724ce97b610aae7f9e0f3842f0798ec9d7b
2019-08-19 09:55:49 +02:00
wojtekt 4aa6bc019e Implement Encoder.Identifier() method
Kubernetes-commit: cd4215ad8b95773a793f69fc2e8bf93c7ede97aa
2019-08-14 16:23:03 +02:00
Tim Allclair d77c4fc8ba Always set content-type & nosniff
Kubernetes-commit: ef6cba0b3635fc99eb658ecd4a29cf63bb234cb6
2019-01-03 11:13:28 -08:00
Antoine Pelisse 3e0b6a7493 Apply current parses the yaml object 3 times
This is super expensive and not needed at all since we don't have to
reparse the entire object. Remove all allocations but the first one.

Kubernetes-commit: 31c644a1e79c685b52683ed1e84964186a37f3ff
2019-09-25 12:38:38 -07:00
chenyaqi01 4f9778fb9d replace bytes.Compare() with bytes.Equal()
Kubernetes-commit: 66be69bb0e7fd147be650385d272ae14ee2857c8
2019-09-27 10:06:50 +08:00
Antoine Pelisse 81b54ad46e Add tests and benchmarks for endpoints and node
Kubernetes-commit: 0b7ea8bb0e9cc10335044f9ef75920d59462a4ca
2019-09-20 13:32:06 -07:00
Antoine Pelisse db9f1ff5ea Improve fieldmanager tests and benchmarks
Kubernetes-commit: fae9d0ee2136d3443cdd87b1a26a06d7857b01ee
2019-09-10 14:06:08 -07:00
chenjun.cj adeca208bc remove apiserver loopback client QPS limit
Kubernetes-commit: c37547c1dd85510d3de62fcc2cd7f4226cfc21db
2019-07-23 16:35:45 +08:00
RainbowMango 5f565617cd Add metrics of authentication overall latency.
Add alpha tags to authentication_attempts explicitly.

Kubernetes-commit: 0c0d69e8be69fd2e1c62a292ed44be6c0d4158fc
2019-09-04 20:50:24 +08:00
Jordan Liggitt 0ca78287c0 Propagate context to ExponentialBackoff
Kubernetes-commit: 4c686ddc1c5f9bc5c28d711dd56551b1ac003faa
2019-09-24 09:43:04 -04:00
Jordan Liggitt d1d66bda16 Propagate context to Authorize() calls
Kubernetes-commit: 92eb072989eba22236d034b56cc2bf159dfb4915
2019-09-24 10:06:32 -04:00
jennybuckley 6c75819b84 Split fieldmanager with interface
Kubernetes-commit: 2c67bf47db8557b6481a5181bdae924e91665988
2019-09-12 10:57:21 -07:00
Han Kang 26cf2f2052 expose and use an AddHealthChecks method directly on config
Kubernetes-commit: 97b58ece4a2ad1a366a9cf7deea9581373931238
2019-09-13 17:04:00 -07:00
Ted Yu 7e547519cf Add note on the role of BenchmarkSimpleCache
Kubernetes-commit: dd48a022c063e9f507ff62e1796a273d38036cb4
2019-09-11 14:39:57 -07:00
Ted Yu a64485969d Verify the response audience matches one of apiAuds
Kubernetes-commit: d66d0472057dc59dff5ac686aea4304e5fe2eded
2019-09-13 06:41:23 -07:00
wojtekt ba8f49cc73 Ensure conversions are registered for metainternalversion codecs
Kubernetes-commit: 54163527a69a8c868b87d301876559495220d1b0
2019-09-11 16:30:08 +02:00
mengyang02 0da8f30350 replace time.Now().Sub with time.Since
Kubernetes-commit: 0205215425607a7a390eaa6493033511626bb189
2019-09-03 20:43:32 +08:00
Jordan Liggitt 223a2b92f0 Propagate and honor http.ErrAbortHandler
Kubernetes-commit: 43415294a72d13a6d685ec0e2ecb274fada7587c
2019-09-11 11:16:31 -04:00
Antoine Pelisse 912f3b47b9 Refactor FieldManager tests to make them simpler
This is the first step on this, but there are a few improvements that
I'd like to do here.

Kubernetes-commit: b10ad55119a155b776b272a7139dfbed604b05d6
2019-09-10 15:05:26 -07:00
Shihang Zhang 53db7e198a change envelope transformer to return status error for better monitoring
Change-Id: I8263c4673d5f57617acf315c7af6ebe5aacd9c7c

Kubernetes-commit: cba43530d77d7f28bc302912e8f43c4a69fdec3b
2019-09-10 13:12:31 -07:00
Jordan Liggitt 0c12043fe4 Generated files
Kubernetes-commit: bbedc4f7ed436d28ed574615a33f8d03f7c8a2f0
2019-09-09 08:55:04 -04:00
Jordan Liggitt a653e5ab1a Export UserInfo conversion, use authnv1.UserInfo in audit
Kubernetes-commit: 0e787a4b78a849fa66a02126721dd185e7c00955
2019-09-09 08:54:54 -04:00
haoshuwei 5bce489f18 fix some ineffassigns
Signed-off-by: haoshuwei <haoshuwei24@gmail.com>

Kubernetes-commit: aaed9daf9b44757e767d93bd45d1bb0412c00243
2019-09-09 18:52:17 +08:00
Dr. Stefan Schimanski fc05a0cd5b endpoints: fix admission test types
Kubernetes-commit: 420f010f8798a8938ff4332ca53bbac8a8e09c01
2019-09-09 08:36:52 +02:00
haoshuwei 0682f6518c fix some missing errors return statements
Signed-off-by: haoshuwei <haoshuwei24@gmail.com>

Kubernetes-commit: c4fe8f11b200d0a97e8ce447e5af592b5c4870d0
2019-09-09 13:54:14 +08:00
Ted Yu 66fb39740e Return proper Kind in error for Cacher
Kubernetes-commit: e4d880bd62fc694bffc188a680c9c088a86a5167
2019-09-07 19:42:56 -07:00
Monis Khan 298cf1beec Encryption config: correctly handle overlapping providers
This change updates NewPrefixTransformers to not short-circuit on
the first transformer that has a matching prefix.  If the same type
of encryption ProviderConfiguration is used more than once, they
will share the same prefix.  A failure in the first one should not
prevent a later match from being attempted.

Added TestCBCKeyRotationWithOverlappingProviders unit test to
prevent regressions.  Note that this test explicitly exercises this
flow using an EncryptionConfiguration object as the structure of the
resulting transformer is an important part of the check.

Signed-off-by: Monis Khan <mkhan@redhat.com>

Kubernetes-commit: 4dc16f29a7285a4bcaff1915728953d8a55e1b6e
2019-09-06 12:09:43 -04:00
Ted Yu a50931ba7e Move Update Apply conflict test to field manager test
Kubernetes-commit: 9828f986afd4db79a10c78bee1cc2e449faee3a6
2019-08-30 14:47:39 -07:00
Elana Hashman 754a749970 Fix typo in EnableInf*l*ightQuotaHandler flag
Kubernetes-commit: a71178ef62053555592c37caec8cd4c635231970
2019-08-23 15:16:29 -07:00
Kubernetes Prow Robot c229c2ca0a Merge pull request #81453 from joshmsamuels/master
Apply will fail with managed fields + tests

Kubernetes-commit: 64718f678695884c93d6d3df8f5799614746bea2
2019-09-13 08:22:53 +00:00
Robert Bailey 1d85fa9bea Remove myself from reviewers across the repo so that PRs are no
longer assigned to me by blunderbuss.

Move myself to be an emeritus approver for the cluster directory.

Kubernetes-commit: 9d211ab352f78482fde7ec593b3dcacea9bcc139
2019-08-27 15:57:09 -07:00
Haowei Cai a0989eba0f in GuaranteedUpdate, retry on precondition check failure if we are working with cached data
Kubernetes-commit: 88f0be6e59aa56570deaa2a9163d0eb3a3ae20f8
2019-09-03 17:26:39 -07:00
Haowei Cai 495219a608 test
Kubernetes-commit: 2670651a3c06028b6aaadb9dc7151d71357364bf
2019-09-03 17:09:12 -07:00
Jordan Liggitt 25bf5d3b30 Add integration test for webhook client auth
Kubernetes-commit: e734c70e037cf1311581eb61ae3e45adaa76771b
2019-09-02 22:37:07 -04:00
Jordan Liggitt 80b9dc503b Plumb service port, URL port to webhook client auth resolution
Kubernetes-commit: d127042cb81cbf545332ec3124161525ef84183c
2019-09-02 22:38:36 -04:00
Jordan Liggitt 2de636a948 Search client auth with and without port
Kubernetes-commit: 2f5dde7672eaf90c7086f86a5a4ee190559f3bb2
2019-09-02 22:38:55 -04:00
jennybuckley b1cbdafe99 Use CRD validation field in server-side apply
Kubernetes-commit: c0617933d4bec5b00dbbfcd24edb7d7e7fc5509d
2019-08-28 15:28:49 -07:00
Walter Fender da748a626b Add support for konnectivity service to the etcd3 client.
If konnectivity service is enabled, the etcd client will now use it.
This did require moving a few methods to break circular dependencies.

Factored in feedback from lavalamp and wenjiaswe.

Kubernetes-commit: edbb0fa2fe2084d5d9ce0cf9dc0d1b2d820bb392
2019-08-27 15:58:06 -07:00
Jordan Liggitt 956977bd20 Use http/1.1 in apiserver->webhook clients
Kubernetes-commit: ddc697866afd1e58cd2ee504277b405052546202
2019-08-28 13:37:50 -04:00
Jordan Liggitt ce4eaaeeb3 Make webhook benchmarks parallel
Kubernetes-commit: 601b7d33a9cf0b724cdabb5de81b0bf2821f0fca
2019-08-28 13:27:38 -04:00
Han Kang 050d1b223c add /livez as a liveness endpoint for kube-apiserver
go fmt

make func private

refactor config_test

Two primary refactorings:

1. config test checkPath method is now each a distinct test
run (which makes it easier to see what is actually failing)

2. TestNewWithDelegate's root path check now parses the json output and
does a comparison against a list of expected paths (no more whitespace
and ordering issues when updating this test, yay).

go fmt

modify and simplify existing integration test for readyz/livez

simplify integration test

set default rbac policy rules for livez

rename a few functions and the entrypoint command line argument (and etcetera)

simplify interface for installing readyz and livez and make auto-register completion a bootstrapped check

untangle some of the nested functions, restructure the code

Kubernetes-commit: aa1b2d6d35c92a31be17357fc66cfc1eca8a67e0
2019-08-26 16:57:25 -07:00
Antoine Pelisse a0d01904a5 Make ServerSideApply beta, and enable by default (on the server)
Kubernetes-commit: 66f24a73083fc0673721c9d099eef723b98fb198
2019-08-26 09:11:04 -07:00
Haowei Cai 8d86fef522 wire up the webhook rejection metrics in webhook handlers
Kubernetes-commit: 620f5f2c587971be50cb27bb2a2d35209b3dc058
2019-08-28 17:32:07 -07:00
Haowei Cai 466e192e26 test
Kubernetes-commit: 71d7477c2187c0f956b90b7b55e8beee449229a2
2019-08-28 16:54:39 -07:00
Haowei Cai c5bca07c6b add webhook rejection metrics
Kubernetes-commit: 714dced0d1c7fbb703fa55c39a071a8a97db9176
2019-08-28 16:49:47 -07:00
Haowei Cai e248b8b513 fix semantics of the rejected label in webhook metrics
when error calling webhook is ignored, do not log the request as
rejected

Kubernetes-commit: f3c793512b45ea3910d5e5a379292c13b62ab64b
2019-08-28 15:31:27 -07:00
misakazhou 330a638869 Fix broken link to api-conventions doc.
Signed-off-by: misakazhou <misakazhou@tencent.com>

Kubernetes-commit: f0323a2030c7adae0e0965a7d3b455dd416472a0
2019-08-29 08:35:16 +08:00
Gyuho Lee 1d75397d46 k8s/apiextensions-apiserver/test/integration: block etcd client creation until connection is up
The new etcd balancer (>3.3.14, 3.4.0) uses an asynchronous resolver for
endpoints. Without "WithBlock", the client may return before the
connection is up.

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>

Kubernetes-commit: a254d0e2a67645948c9631d4bf11ef60aa26f5ae
2019-08-14 17:28:54 -07:00
RainbowMango a9e8b3830d Add authentication metrics: overall failure and error count
Kubernetes-commit: a7ac3b9bbe3f3e35117bd7109997e58ce467f0a9
2019-08-16 19:30:43 +08:00
David Eads ad3b19aeee add cache-control headers to kube-apiserver
Kubernetes-commit: f589c1213c8ba4fa0e31c523b2e9dcc27298084f
2019-08-26 09:39:29 -04:00
Jordan Liggitt 58f780d1e2 Use cached selectors/client for webhooks
Kubernetes-commit: 8c10d929cac13dc50ca4ffaca83e7ae5c8e41292
2019-08-24 17:12:14 -04:00
Jordan Liggitt b7340127c3 Add admission benchmarks
go test ./vendor/k8s.io/apiserver/pkg/admission/plugin/webhook/validating -bench . -benchmem -run DoNotRun
go test ./vendor/k8s.io/apiserver/pkg/admission/plugin/webhook/mutating -bench . -benchmem -run DoNotRun

Kubernetes-commit: 27f535e26ad88fa30d5c0fcde4bc31897b9d521c
2019-08-24 17:40:07 -04:00
Jordan Liggitt eb2a4467ba Let webhook accessors construct client/selectors once
Kubernetes-commit: 14154c2345e7e467be0ff003c61cec9c0bd2be3e
2019-08-20 17:16:21 -04:00
Antoine Pelisse 625e8a84fc Add new FieldsType to clarify the format of Fields
Kubernetes-commit: ff4e1f3592bfd51aea3018ed7e0a8579e5c0eea1
2019-08-21 16:13:53 -07:00
Han Kang 17306f6993 add comment about explicitly registering grpcprom client metrics
Kubernetes-commit: 1700a315c188e4b9d434d1e51de75426aa9d7867
2019-08-27 10:30:57 -07:00
Han Kang 3e6e1db500 add some documentation around the metrics stability migration changes for clarity
Kubernetes-commit: 4e5d906c4d008f914b0ede26ea91533d6343dec5
2019-08-26 19:15:30 -07:00
Han Kang b9084e350a migrate kube-apiserver metrics to stability framework
Kubernetes-commit: 466980dd747e06e55451301c624eecccfa505123
2019-08-22 15:38:42 -07:00
jennybuckley 263df041f9 Add tests
Kubernetes-commit: 3279c73945553e211ddb7812e07b3c9d46b5e96a
2019-08-22 13:27:38 -07:00
jennybuckley 350fef76f5 Only update managedFields on update if it already exists
Kubernetes-commit: 9a12e37a6dc28fd1d209eb84c210eb0723e6e38f
2019-06-05 14:09:08 -07:00
Chao Xu 3cfd3c2353 promote the remainingItemCount field to beta
Kubernetes-commit: f9f0132c76e4ac40c25ab88650d2c4078310622f
2019-08-20 13:50:04 -07:00
David Eads 47da497af8 allow an apiserver to only serve http1
Kubernetes-commit: 6eb62506e05d7181caf552e50d9b78609aea1943
2019-08-23 15:02:26 -04:00
Haowei Cai db2bae4d84 tests
Kubernetes-commit: d35757c653893279df566985c3368f0277fe7c02
2019-05-31 16:22:55 -07:00
Haowei Cai f4a47ec53f mutating webhook: audit log mutation existence and actual patch
Kubernetes-commit: 7784353a69932a4e7b4dde55b78828abf5fa4ee6
2019-05-31 16:22:30 -07:00
Haowei Cai 70c200c6a0 audit & admission: associate annotation with audit level
Kubernetes-commit: 318226f3403f56aaf796af3f439c13674aa2b7ab
2019-05-31 15:36:29 -07:00
jennybuckley dcedf932c2 Make sure no op updates don't affect the resource version
Kubernetes-commit: aa1f01ec7e6ebf29444b93de7c3cb65a1a54d47e
2019-08-20 15:09:42 -07:00
wojtekt 983198c58c Fix verb reporting in metrics
Kubernetes-commit: 715f538c7012e190c6bcf276fa329da261ec5d00
2019-08-20 15:40:34 +02:00
Di Xu d9e587908f populate object name for admission attributes when CREATE
Kubernetes-commit: 34cab8f80a9104be7fe5d8a5a22c3207dab46268
2017-09-28 14:59:34 +08:00
Han Kang 2b0c93afef rename healthz methodNames to be more consistent w/ present day usages
Kubernetes-commit: 2e23788fda86c68e7f17cf0b66ee1017594c1055
2019-08-13 12:42:13 -07:00
Maciej Borsz 9baeaec78d Add 'apiserver_watch_events_sizes'.
That metric can be used to estimate the size of watch events sent out to
the clients.

Kubernetes-commit: 4af189aab9cca61d1a701133596f6f82b1ca0719
2019-07-23 12:55:11 +02:00
Jordan Liggitt 71ef46fa12 Use lesser of context or webhook-specific timeout in webhooks
Kubernetes-commit: c63284b1f3996e7830c1aca85281d349d0091c82
2019-08-19 11:23:05 -04:00
Jordan Liggitt 0c706a033c Plumb context to admission Admit/Validate
Kubernetes-commit: 61774cd7176cae0c0324d23ab20e6c6b3038153f
2019-08-19 10:48:08 -04:00
Jordan Liggitt aab7154c4f plumb client-specified request timeout to context
Kubernetes-commit: 89d5c1f3ea8d8e27526e4f558872c4e24ddc526c
2019-08-20 10:36:34 -04:00
jennybuckley 427507ed32 Group update managedFieldsEntries by manager name
Kubernetes-commit: 87eabcdbfa5d551af7ebcae3fb07fd8f386badc3
2019-08-19 13:50:15 -07:00
Shihang Zhang 7bf3105100 inject transformer prefix into metric
Change-Id: Iacab685a710d8f8d5b80ed0d35e5ccc22bd929cb

Kubernetes-commit: 099484ee5fb185e92cd154e29c63cf34201e803f
2019-08-01 14:49:37 -07:00
draveness ddbcfa57e7 feat: cleanup pod critical pod annotations feature
Kubernetes-commit: 495faa22db7e58c2d92704d48f77acebc7a831b0
2019-06-29 09:58:39 +08:00
YAMAMOTO Takashi 0acf11d3c3 apiserver: Update a comment
Kubernetes-commit: 6066246656f532beb04b74e5ea3959e08ecb375b
2019-03-11 15:23:26 +09:00
wojtekt e603adaf68 Deprecate SelfLink + featuregate for setting it
Kubernetes-commit: 3bf4eb70723340cf84abec11e9ce14dfcc02a148
2019-08-05 08:59:25 +02:00
Walter Fender 9bdac68d70 Get network-proxy working with GCE.
Got the proxy-server coming up in the master.
Added certs and have it comiung up with those certs.
Added a daemonset to run the network-agent.
Adding support for agent running as a sameon set on every node.

Added quick hack to test that proxy server/agent were correctly
tunneling traffic to the kubelet.

Added more WIP for reading network proxy configuration.
Get flags set correctly and fix connection services.
Adding missing ApplyTo
Added ConnectivityService.
Fixed build directives. Added connectivity service configuration.
Fixed log levels.
Fixed minor issues for feature turned off.
Fixed boilerplate and format.
Moved log dialer initialization earlier as per Liggits suggestion.
Fixed a few minor issues in the configuration for GCE.
Fixed scheme allocation
Adding unit test.
Added test for direct connectivity service.

Switching to injecting the Lookup method rather than using a Singleton.
First round of mikedaneses feedback.
Fixed deployment to use yaml and other changes suggested by MikeDanese.

Switched network proxy server/agent which are kebab-case not camelCase.
Picked up DIAL_RSP fix.
Factored in deads2k feedback.
Feedback from mikedanese
Factored in second round of feedback from David.
Fix path in verify.
Factored in anfernee's feedback.
First part of lavalamps feedback.
Factored in more changes from lavalamp and mikedanese.

Renamed network-proxy to konnectivity-server and konnectivity-agent.
Fixed tolerations and config file checking.
Added missing strptr
Finished lavalamps requested rename.
Disambiguating konnectivity service by renaming it egress selector.

Switched feature flag to KUBE_ENABLE_EGRESS_VIA_KONNECTIVITY_SERVICE

Kubernetes-commit: ebb65c5f4c51340f42c260cf00bde8629ed68d74
2019-05-20 12:44:51 -07:00
Joe Betz f103fcda51 Replace string concatination with trace fields
Kubernetes-commit: 46a04d50af78e01d06a9879d62cc71fbe892076f
2019-08-02 23:47:24 -07:00
Joe Betz 81b56d7030 Add trace to webhook invocations
Kubernetes-commit: 31799ebe88534272d45c2a33396e343a5083c773
2019-05-31 16:50:54 -07:00
Ted Yu 258e8e3387 Rename cacheWatcher#stop
Kubernetes-commit: 0b3c07a98c7c03e3edcf4f21ff96ea74082a54e5
2019-08-02 04:32:50 -07:00
jennybuckley d98d4e6ca0 Use raw bytes in metav1.Fields instead of map
Also define custom proto unmarshaller that understands the old format

Kubernetes-commit: addad99b6f796bc0f0a2eeafa0296396667800e9
2019-07-31 16:05:48 -07:00
Jordan Liggitt 90d670a108 AdmissionReview: Allow webhook admission to dispatch v1 or v1beta1
Kubernetes-commit: dda9bcb082be058c30c83d45e757edbaac8dc65f
2019-07-12 08:44:24 -04:00
Ted Yu 2fe1729c24 Refine watcher count calculation
Kubernetes-commit: 4ce92b05acf7fec89c8723ba1779bf9e2baf55f4
2019-07-30 23:04:54 -07:00
Ted Yu 06470a960d Pop expired watchers in case there is no update
Kubernetes-commit: 0204bc7e2594c297f146701132ee969721ada2ab
2019-07-30 06:49:01 -07:00
Antoine Pelisse 0c3358252b Regenerate
Kubernetes-commit: 6568325ca2bef519e5c8228cd33887660b5ed7b0
2019-07-24 15:21:55 -07:00
Daniel Smith 1fc8fb4c4b fix breaking change
Kubernetes-commit: f55efb8dae5b41a8af083dc96c53b5b6f6e59b49
2019-07-19 15:25:56 -07:00
Ted Yu 4eb89249bd Rename TriggerPublisherFunc as IndexerFunc
Kubernetes-commit: 6e98aab26e4fb867a6d8b4342937823cf1597d89
2019-07-18 06:45:48 -07:00
jennybuckley 6d17cee146 Make changes to integrate new version
Kubernetes-commit: 229894c730c70d39992b27fe3ef98968b2a3fbff
2019-07-08 16:32:03 -07:00
wojtekt bb8cecbe8c Simplify trigger functions in cacher
Kubernetes-commit: 68fd329e00d1ddf19a7ec0db1607820a1c4c008a
2019-07-04 14:21:06 +02:00
jennybuckley 5751866f63 apiserver: make changes to integrate new structured-merge-patch
Kubernetes-commit: bd333e3ac7f84c33abebc7d55a8c581743d891f7
2019-07-08 16:32:03 -07:00
wojtekt fa23498ce7 Propagate error from creating cacher and storage decorators up
Kubernetes-commit: ee13be28845e8c55f6e2a2207ca4f46cd67fdb4e
2019-07-15 09:34:08 +02:00
fansong.cfs ec1dcedb44 delivery event non blocking firstly
Kubernetes-commit: 5e493ab467472f38d7e78b19180bb6c7684170f0
2019-04-28 21:06:59 +08:00
Maciej Borsz f6a1588a67 Register WatchEvents metric
Kubernetes-commit: bc100cfd0ccd7849b66e29eba62cd2119a83a68a
2019-07-12 14:08:40 +02:00
wojtekt 15b0ff80e3 Move etcd/util to etcd3/
Kubernetes-commit: 23d9d6b1d0f835d7b342773149ded2c89c6b4507
2019-07-02 09:28:02 +02:00
wojtekt 85b18f9ee1 Migrate WatchBookmarks to Beta
Kubernetes-commit: a947e28cbe3161a6d9c88186d6136b37af2fe1ab
2019-07-04 13:14:53 +02:00
Dr. Stefan Schimanski 5f126c4400 apiserver: add --shutdown-delay-duration to keep serving until LBs stop serving traffic
Kubernetes-commit: 408f36b8825136c2b1771f642d88557e83a2ddb7
2019-02-22 15:13:28 +01:00
Jordan Liggitt fd78427347 Populate API version in synthetic authorization requests
Kubernetes-commit: 2899abb65cf459d6ab1d61f24fe82555f87a306f
2019-07-10 21:29:25 -04:00
Antoine Pelisse b19b440e6b Return 400 on invalid patch requests
Kubernetes-commit: 7e964387485f12432bbf616835e034436f52cb4c
2019-06-20 12:17:56 -07:00
Antoine Pelisse 2f450e5e39 Add benchmarks for FieldManager handling
We don't have a lot of data on allocations and how much time it takes to
run apply or update on objects, so adding some benchmark will help us
investigate possible improvements.

Kubernetes-commit: 92cf3764f979e63317c8f483d8e841e0358599f4
2019-07-09 14:00:21 -07:00
xuyasong 394b8d269a staging file fix lint error: receiver name should not be an underscore and rename
Kubernetes-commit: 162b14eca339851aae03725b980acad2c91222c4
2019-07-05 12:49:02 +08:00
Ted Yu de3970c505 Revert Provide resource version in error if available
Kubernetes-commit: 58b0a2769a57bc190eb5b2a424582270720b325a
2019-07-08 14:33:37 -07:00
Clayton Coleman 72566fea6c Replace HTTP compression with an inline handler
The previous HTTP compression implementation functioned as a filter, which
required it to deal with a number of special cases that complicated the
implementation.

Instead, when we write an API object to a response, handle only that one
case. This will allow a more limited implementation that does not impact
other code flows.

Also, to prevent excessive CPU use on small objects, compression is
disabled on responses smaller than 128Kb in size.

Kubernetes-commit: 4ed2b9875d0498b5c577095075bda341e96fcec2
2019-05-04 17:36:36 -04:00
Clayton Coleman f07e11ea4e Set API compression feature gate to Beta
Kubernetes-commit: a872c6826cd9fb6ce7384f8b6242e261e138abc2
2019-05-04 18:21:53 -04:00
Dr. Stefan Schimanski 747ac192e8 apiserver: chain delegated PrepareRun
Kubernetes-commit: 7c4329ed45e3609b1e66b4026c453e71e78db26b
2019-03-04 12:04:43 +01:00
Walter Fender ab45142917 Making sure we handle error on http.NewRequest().
http.NewRequest can return an error. (Eg. error parsing url).
This will cause us to have a nil req object.
That in turn will become a SIGSEGV when we set the context.

Kubernetes-commit: ee2ad1d1fe55a3823311267f39e8b14e8b0c4c68
2019-07-02 14:28:55 -07:00
Dr. Stefan Schimanski c4286f7b60 apiserver: store httplog in context
Kubernetes-commit: e848eaa566b750ad5e5fd26a64eecfc883f936f3
2019-06-14 13:09:13 +02:00
Dr. Stefan Schimanski 41c11d856b apiserver: don't log stack trace on /healthz error
Kubernetes-commit: 6e3fd91e1aa3259d7bd67e0a65693e346ade347d
2019-06-14 11:37:48 +02:00
Ted Yu 50569df906 Provide resource version in error if available
Kubernetes-commit: 6459b61bca8ea8d02ccd1771288345af498ae176
2019-07-06 00:59:20 -07:00
caohe ac25e63a3e Remove panic in storage and add log
Signed-off-by: caohe <caohe9603@gmail.com>

Kubernetes-commit: 99365063bac66b0cb9f2c3f7322e48b8cb3a0cf7
2019-07-06 17:01:20 +08:00
Maciej Borsz df684d906a Add 'apiserver_watch_events_total' metric.
We found this metric useful to understand the CPU usage of the
kube-apiserver process.

Kubernetes-commit: 58d3338ddd5e406988fdfaa9019fd7200996c49f
2019-06-05 14:27:09 +02:00
immutablet 5faffb9123 Allow kube-apiserver to test the status of kms-plugin.
Kubernetes-commit: 05fdbb201ffbaff4e92f0899f9e2ca038febb88d
2019-05-30 11:15:35 -07:00
Vallery Lancey 6e15e9a893 Updated github.com/gogo/protobuf from SHA to nearest-pinnable tag (v1.0.0), as part of dependency management cleanup: #79234
Kubernetes-commit: fe59ee8aaf8c7399476d286349caca9e3c05c522
2019-07-02 21:44:06 -07:00
Odin Ugedal 1be6195f27 Fix file permissions for non executable files
Normal files should have permissions 644 by default,
and does not require the last bit to be
executable

Signed-off-by: Odin Ugedal <odin@ugedal.com>

Kubernetes-commit: 35cb87f9cf71776e99a970dfff751cd29ba7ebfb
2019-06-14 21:04:39 +02:00
Pingan2017 d5c0852e40 clean up redundant conditiontype OutOfDisk
Kubernetes-commit: e94d7b3802abe4ad7086551b91b2801ccee606c2
2018-12-29 15:31:56 +08:00
Mike Spreitzer 0cc4524200 Make AuthorizeClientBearerToken actually return if authn or authz is nil
There was a typo, the test was there but the return was not.

Added test that exposes the difference.

Kubernetes-commit: 7056e216addc7203f24c37a95c5c14ad194dddca
2019-06-18 23:37:16 -04:00
wojtekt 9698803236 Move etcd/testing to etcd3/testing
Kubernetes-commit: 7497260e54c555c1fb1def741267f9dc23fe7dce
2019-07-01 10:38:19 +02:00
Ted Yu 7e3b751e0c Obtain readyzLock once in installReadyz
Kubernetes-commit: c2c7226ca45f2c9ebb2e66056b6b2694d6587eb1
2019-06-19 17:32:52 -07:00
Ted Yu 5f417af526 Clear valueWatchers instead of removing every entry using a loop
Kubernetes-commit: a06daff032f981672a47c71b23c62b9b85793893
2019-07-01 20:11:39 +08:00
wojtekt 6d99094b88 Move APIObjectVersioner
Kubernetes-commit: fd819f8fdc2528249efc94c18da434b61fe87925
2019-06-28 13:58:08 +02:00
wojtekt c8fac58c15 Move etcdtest to testing
Kubernetes-commit: 28fa6de62933bfb5d5b7c36db60873a8c8d85dea
2019-06-28 13:36:48 +02:00
wojtekt 01c4fe2028 Cleanup util file
Kubernetes-commit: 762518fd47bb058d11b26c60d9cf9f9a9c5b3c05
2019-06-28 13:30:43 +02:00
wojtekt cc7d4cc1f1 Move metrics to etcd3 and clean up
Kubernetes-commit: a06f2cfc3fa896d9edefe42387da65905b30ec8e
2019-06-28 13:05:58 +02:00
Sukeesh 8f207390a6 Update doc.go in staging/src/k8s.io/
Kubernetes-commit: c8bd20d1b289eadb6abc20f0868f4a5a6a668035
2019-06-25 22:43:44 +09:00
yue9944882 5cf39ce1e6 remove finailzers
Kubernetes-commit: e00bb664e1f58af5e3e9eb9c692bf9958a31cf7d
2019-06-28 14:04:24 +08:00
wojtekt f1e887e5d1 Remove dead metrics in etcd code
Kubernetes-commit: fd9fb50251fd130ffc797c6f7ab63d65565744c7
2019-06-28 11:17:27 +02:00
Andy Goldstein 637cea444b Fix max port value to 65535
Signed-off-by: Andy Goldstein <goldsteina@vmware.com>

Kubernetes-commit: 9bba2c93ec6042fc4140afecc672f025ba491928
2019-06-24 15:13:27 -04:00
Ted Yu e3747a151a Close auditStopCh if SecureServing encounters error
Kubernetes-commit: 9e018468153255ae5972b681f998e96c3f1a6cbe
2019-06-19 12:01:57 -07:00
Han Kang 7fd71e31ef add readyz endpoint for kube-apiserver readiness checks
add startup sequence duration and readyz endpoint

add rbac bootstrapping policy for readyz

add integration test around grace period and readyz

rename startup sequence duration flag

copy health checks to fields

rename health-check installed boolean, refactor clock injection logic

cleanup clock injection code

remove todo about poststarthook url registration from healthz

Kubernetes-commit: 54dcf5c9c46fc4782d4861936309349b5a71a1ac
2019-05-30 11:19:49 -07:00
jennybuckley e67aadb10a Don't dereference nil pointer in conflicts
Kubernetes-commit: c71583a31368d1e4e71cd458d6961d8fec2265f1
2019-06-13 14:42:19 -07:00
Jordan Liggitt 8b9440cfa5 Fix spurious .sock files running envelope unit tests
Kubernetes-commit: 04b6f1ea03f88abd9eb3a2635995a405f68527e0
2019-06-13 10:52:59 -04:00
Chao Xu 65ba1e64bc Adding test cases to make sure objectSelector works for CRD
Kubernetes-commit: 58fa71d1ed375876a86fe5961ad5a87a0eb23fa2
2019-05-31 10:12:42 -07:00
zhoulin xie 77ddb0c208 remove redundant words 'the' in comment
Signed-off-by: zhoulin xie <zhoulin.xie@daocloud.io>

Kubernetes-commit: 77ba845e6d2f0cba81993621531ae5915e7c072b
2019-02-13 22:40:34 +08:00
Chao Xu d403146da2 Protect remainingItemCount behind a feature flag. Also updating the API doc
Kubernetes-commit: 1ad5cb5bb16c83bc7f0a3b78ad196a665a45996d
2019-05-31 15:32:26 -07:00
Jordan Liggitt 2c3ab14d64 Set expected in-memory version when decoding unstructured objects from etcd
Kubernetes-commit: 932553a08c5142fc7751555697e28bdc1f2eff09
2019-06-04 22:12:34 -04:00
Joe Betz 3c6eb3805e Fix admission metrics to use bucket sizes matching metric unit
Kubernetes-commit: 084c52551baa3dbf0aa47f193b3abddeb8e4d673
2019-05-31 16:17:24 -07:00