Commit Graph

617 Commits

Author SHA1 Message Date
Andrew Sy Kim d544684a3d apiserver: add validation for EgressSelection names in EgressSelectorConfiguration API
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>

Kubernetes-commit: 30d43806c3fe283c8a0b02f050a7ad93dcb1a759
2020-10-26 10:24:16 -04:00
Andrew Sy Kim 6746ccadda apiserver: support egress selection name 'controlplane' and deprecate 'master'
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>

Kubernetes-commit: a0aebf96ec2eef6517e2611335f0e6c9375dd807
2020-10-26 10:24:16 -04:00
Dr. Stefan Schimanski 4cf3f7725b apiserver: fix healthz vs. livez vs. readyz log output
Kubernetes-commit: 480b4c74b858a9caac0b33cb4d9a1ab30ae65cf4
2020-09-15 15:46:02 +02:00
Zhou Peng b07fe5362d [k8s.io/apiserver/pkg/server/filters]: fixup go vet warning
Signed-off-by: Zhou Peng <p@ctriple.cn>

Kubernetes-commit: 842cd8e315566388025f509edf563b20022922f6
2020-07-20 17:06:01 +08:00
Abu Kashem 50cce843c9 Take into account latency incurred in server filters
apiserver_request_duration_seconds does not take into account the
time a request spends in the server filters. If a filter takes longer
then the latency incurred will not be reflected in the apiserver
latency metrics.

For example, the amount of time a request spends in priority and
fairness machineries or in shuffle queues will not be accounted for.

- Add a server filter that attaches request received timestamp to the
request context very early in in the handler chain (as soon as
net/http hands over control to us).
- Use the above received timestamp in the apiserver latency metrics
apiserver_request_duration_seconds.
- Use the above received timestamp in the audit layer to set
RequestReceivedTimestamp.

Kubernetes-commit: d74ab9e1a4929be208d4529fd12b76d3fcd5d546
2020-09-18 16:46:07 -04:00
chenjun.cj cdf4e75f4f skip TestClientReceivedGOAWAY
Kubernetes-commit: 3a4ae287d43046516e1686cb950907e981b96cae
2020-09-09 00:26:24 +08:00
Jordan Liggitt b7440ce51e Deflake serving options, avoid hard-coding ports
Kubernetes-commit: ec3faa18213fd1386c3fddca40061d6b4a7df22d
2020-09-04 15:55:01 -04:00
Jordan Liggitt 338bb3eda2 Skip TestGOAWAYConcurrency
Kubernetes-commit: dbdd8c5a0c2b345a6b9f2c47055701390d42c3c8
2020-09-04 12:07:02 -04:00
knight42 9acb27b704 test(apiserver): deflake TestClientReceivedGOAWAY
protect `localAddr` from concurrent read and write

Signed-off-by: knight42 <anonymousknight96@gmail.com>

Kubernetes-commit: 1f235c858c39f77161d5b5e8272a7113bfca3143
2020-09-04 23:35:53 +08:00
chenjun.cj 599aa4d0a8 add more testcases for GOAWAY filter
Kubernetes-commit: 434fd2a976b8ecf8a85c9b00ef7c6ccf8f6f5ca3
2020-09-01 16:44:48 +08:00
Manjunath Kumatagi 9e91e826fe Skip TestLoopbackHostPortIPv6 run on non-IPv6 env
Kubernetes-commit: a9c0c5a9de80bc2f1c88f049a19fcbcff285c245
2020-08-31 23:20:49 +05:30
Ken Sipe f5622f5df7 fix S1000 simplify ch switch cases
Signed-off-by: Ken Sipe <kensipe@gmail.com>

Kubernetes-commit: ba11567617aa8f00d9be01ce2551c49d153cdadf
2020-06-26 10:53:08 -05:00
Ken Sipe 0c18993949 fix S1008 simplify bool returns
Signed-off-by: Ken Sipe <kensipe@gmail.com>

Kubernetes-commit: b287287a3093e895a77ccf78053adffcaa7a67c9
2020-06-26 10:39:16 -05:00
Ken Sipe ce7f425acc fix S1002 omit comp to bool
Signed-off-by: Ken Sipe <kensipe@gmail.com>

Kubernetes-commit: e8878687b18fd961e9f3e29c1c46fe018157a77d
2020-06-26 10:36:38 -05:00
panpan0000 8cd4b9b8ca Fix static check failures for staging/src/k8s.io/apiserver/pkg/server/healthz/healthz_test.go
Kubernetes-commit: 16c42fffb0458184d0f576459f1e05be2275db0b
2020-06-23 06:41:42 -04:00
Mike Spreitzer b1ede52e21 Make sampleAndWaterMarkHistograms not fall very far behind
Kubernetes-commit: 9e89b92a92c02cdd2c70c0f52a30936e9c3309c7
2020-08-20 16:43:11 -04:00
bjrara 23237f73b9 Add missing termination metrics to priority-and-fairness handler
Kubernetes-commit: 7094964fe00e0b221e7db29f5980da8bc9166b30
2020-08-07 16:22:30 +08:00
wojtekt 54adf136f5 Fix /readyz to contain informer-sync
Kubernetes-commit: 5b4ab8f41ba574d5b3a70d7141dc348835c9f5e4
2020-08-04 08:51:40 +02:00
ialidzhikov f1d71be938 Fix panic on /readyz
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>

Kubernetes-commit: 1f06c88dd38f17b1687d83208572a0093c2b2905
2020-07-31 14:30:28 +03:00
Stephen Augustus 0866d387da [VDF] Remove references to gcr.io/google-containers
Signed-off-by: Stephen Augustus <saugustus@vmware.com>

Kubernetes-commit: 99dd7570eb59a4ff040a7656c9d2b879f47acc59
2020-07-22 15:28:13 -04:00
Joe Betz 97937c66f2 Revert nested trace PR#88936
Kubernetes-commit: 02cf58102a61b6d1e021e256381ff750573ce55d
2020-07-20 09:55:05 -07:00
Han Kang 9eea426ca7 port over apiserver metric handler to use the instrumentation library
Change-Id: Ifabb726120c1c4f90ff3e4d71fdbba468fe74e8a

Kubernetes-commit: 6b994af680b292ac5a9be7198df8ca18c27241df
2020-07-16 09:26:47 -07:00
Mike Spreitzer e28ab56bd4 Introduce more metrics on concurrency
Introduce min, average, and standard deviation for the number of
executing mutating and readOnly requests.

Introduce min, max, average, and standard deviation for the number
waiting and number waiting per priority level.

Later:

Revised to use a series of windows

Use three individuals instead of array of powers

Later:

Add coarse queue count metrics, removed windowed avg and stddev

Add metrics for number of queued mutating and readOnly requests,
to complement metrics for number executing.

Later:

Removed windowed average and standard deviation because consumers can
derive such from integrals of consumer's chosen window.

Also replaced "requestKind" Prometheus label with "request_kind".

Later:

Revised to focus on sampling

Make the clock intrinsic to a TimedObserver

... so that the clock can be read while holding the observer's lock;
otherwise, forward progress is not guaranteed (and violations were
observed in testing).

Bug fixes and histogram buckets revision

SetX1 to 1 when queue length limit is zero, beause dividing by zero is nasty.

Remove obsolete argument in gen_test.go.

Add a bucket boundary at 0 for sample-and-water-mark histograms, to
distinguish zeroes from non-zeros.

This includes adding Integrator test.

Simplified test code.

More pervasively used "ctlr" instead of "ctl" as abbreviation for
"controller".

Kubernetes-commit: 57ecea22296797a93b0157169db0ff2e477f58d0
2020-05-17 01:02:25 -04:00
Joe Betz 7a467399ac Enable nested tracing, add request filter chain tracing incl. authn/authz tracing
Kubernetes-commit: b12ac0abc64adb71d97fbde12f373b1424631f20
2020-03-06 16:11:21 -08:00
Li Bo 7f8013437d log tls handshake error at trace level to avoid error flooding, and add
metric to count such errors

Kubernetes-commit: eabb362aa37f7acc85bc64f2035dadc5511d3716
2020-05-20 11:29:44 +08:00
chenjun.cj 0cdc30602c make Kubelet bootstrap certificate signal aware
Kubernetes-commit: db7194177538d5efc84af621c4400174a2836b3b
2020-07-04 12:08:04 +08:00
Maciej Borsz ea82586fc5 Wait for all informers to sync in /readyz.
Kubernetes-commit: 3f680002038c81b02541e4cc4bd7c019b7e7d6e6
2020-06-18 15:21:12 +02:00
David Eads 75c70e8856 make log output of failed healthchecks more focused
Kubernetes-commit: e87f62dcd57fb455135e8cd6fb7e604afbc2e1c4
2020-06-16 15:35:26 -04:00
Marek Siarkowicz 5587d5c607 Improve performance of http access logs
Fixes:
* Don't call LogArgs if log will not be written due low verbosity
* Create separate slice for hijacked to avoid append on main path
* Shorten log message as this log is to common to be verbose

name           old time/op    new time/op    delta
WithLogging-4    4.95µs ± 3%    3.52µs ± 1%  -28.80%  (p=0.000 n=10+8)

name           old alloc/op   new alloc/op   delta
WithLogging-4    2.93kB ± 0%    1.22kB ± 0%  -58.45%  (p=0.000 n=10+9)

name           old allocs/op  new allocs/op  delta
WithLogging-4      32.0 ± 0%      20.0 ± 0%  -37.50%  (p=0.000 n=10+10)

Kubernetes-commit: 303e1c19225149868d735b5c876d8ca9d3e1b5c9
2020-06-23 13:56:01 +02:00
AkashSarda e0d29c69be Migrate API server logs to Structured logging framewrok
Kubernetes-commit: af60e7b34d59d635740880a03e7e2587ec9ba041
2020-06-17 21:06:35 +00:00
yue9944882 7f1f8c2578 introduce apf debug endpoint
Kubernetes-commit: 567becd5eedd9a1f3802f2b3b0b6b8efc445d2a1
2020-05-22 13:02:10 +08:00
Dr. Stefan Schimanski 4b2cf85d1b apiserver: fix secure serving cast for non-tcp listeners
Kubernetes-commit: 2c3687c255c014f7049eed159de30a82082656b6
2020-06-16 13:31:32 +02:00
Jordan Liggitt c02923d8c7 apiserver: increment metric for deprecated API use
Kubernetes-commit: e4bb1daecf36aac3051d36a20dfdf7ea3050de58
2020-04-30 12:21:29 -04:00
Jordan Liggitt d7d5d84691 apiserver: add API server plumbing for adding warnings
Kubernetes-commit: e5e557e90257d5bc69f1fabf253f87491e0868b2
2020-04-14 16:10:54 -04:00
Lukasz Szaszkiewicz 2785853faa genericapiserver library must wait for server.Shutdown
Kubernetes-commit: 4362d613f243a02558f03e90b8fcb58b4c6efb06
2020-06-10 14:05:24 +02:00
wojtekt db5fe3e7d4 Remove heuristic watchcache sizes
Kubernetes-commit: 5ceb53987be7fe9ea6b43ba568f6f6f500ca2488
2020-06-05 14:37:01 +02:00
David Eads a3201bc883 remove dynamic audit
Kubernetes-commit: ed4e6f10265ae32b1c2c0b254a4d2c20590cfadd
2020-05-27 14:04:09 -04:00
Han Kang 64913bcbc2 fix a number of unbounded dimensions in request metrics (#89451)
* fix a number of unbounded dimensions in request metrics

* add test suite for cleanVerb and cleanContentType

* Properly validate that the content-type and charset (if applicable) are RFC compliant

* add additional test case

* truncate list of content-types

Change-Id: Ia5fe0d2e2c602e4def4b8e0849cc19f3f9251818

Kubernetes-commit: 6c588c3f441252f42fd37526297ed92d1e1f3acf
2020-05-29 08:29:03 +00:00
Johannes M. Scheuermann b0438a0d98 Update kube-apiserver flag comments
Kubernetes-commit: bd42094d90124ba79cbacac6f41336e1d39999c1
2020-05-25 15:43:56 +02:00
Lingfei Kong 76c4d459f2 fix the wrong function description
Kubernetes-commit: fa73cacc5d4d2250f3ea8fe519bcbb0a02309b28
2020-05-25 15:04:01 +08:00
Abu Kashem 8dd6013700 Reset flow control metrics on /metrcis DELETE
Kubernetes-commit: 01c5818b63fd7c4a1d83ad33fc6a7ef78529cbd7
2020-05-20 17:25:05 -04:00
Paulo Gomes 749479fedb Warn when insecure TLS ciphers are selected.
Kubernetes-commit: 550a67869a7290688dde4aeedbcdd72a10e448cf
2020-05-13 16:11:28 +01:00
Davanum Srinivas c78dd46c27 fix API change in apiserver-network-proxy
Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: ce6292f6c6da22eb48cadae1d8a7a87fd5ff6798
2020-05-14 21:43:26 -04:00
Davanum Srinivas 5879417a28 switch over k/k to use klog v2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: 442a69c3bdf6fe8e525b05887e57d89db1e2f3a5
2020-04-17 15:25:06 -04:00
RainbowMango b635b7fa33 Switch deprecated RegisterOpenAPIVersionedService function by OpenAPIService.RegisterOpenAPIVersionedService.
Kubernetes-commit: ec234467f8bf1584d84ae35c4674565be0e93fda
2020-05-08 11:27:22 +08:00
Lukasz Szaszkiewicz 513afab811 expose RunOnce method on RequestHeaderAuthRequest controller
Kubernetes-commit: f3a7f057c423caf77b0c5315d7728727c4b35bde
2020-04-28 15:35:17 +02:00
Lukasz Szaszkiewicz 07cdc792bb provides DynamicRequestHeaderController that combines DynamicCAFromConfigMapController and RequestHeaderAuthRequestController into one controller
the unified controller will dynamically fill RequestHeaderConfig struct

Kubernetes-commit: cb4b4cb5a6ffdf1c7f199e644a8b5cac2367d504
2020-04-28 12:48:21 +02:00
Jordan Liggitt b6e46cd151 Restore cache-control header filter
Kubernetes-commit: 5efcc9e63327b5054fb636bda56176e8546bd9be
2020-04-24 15:36:12 -04:00
Jie Shen 6873ed332b Use utils.net to parse ports instead of atoi (#89120)
Kubernetes-commit: 363bb3914296d5330dce29631fb6003c335cfcf7
2020-04-22 06:24:23 +00:00
Monis Khan 1873d19869 Allow handlers early in the request chain to set audit annotations
This change adds the generic ability for request handlers that run
before WithAudit to set annotations in the audit.Event.Annotations
map.

Note that this change does not use this capability yet. Determining
which handlers should set audit annotations and what keys and values
should be used requires further discussion (this data will become
part of our public API).

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

Kubernetes-commit: 0bc62112adf270ef4efada37286319c229324c7b
2020-03-19 20:02:37 -04:00