Commit Graph

88960 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
1c4f1edfba
Merge pull request #88746 from andrewsykim/test-framework-pkg-apis
test/e2e/framework: remove dependencies to internal APIs
2020-03-02 22:13:46 -08:00
Kubernetes Prow Robot
eaceb7bf5c
Merge pull request #88419 from Jefftree/netproxy-udstoken
Add support for token authentication with network proxy
2020-03-02 22:13:37 -08:00
Kubernetes Prow Robot
53d63e11a2
Merge pull request #88584 from willise/master
fix: remove conflict comment of taint "Value"
2020-03-02 20:03:37 -08:00
Kubernetes Prow Robot
79e1ad2f4b
Merge pull request #88744 from jackkleeman/kubelet-handle-intermed
Support intermediate certificate in certificate store
2020-03-02 16:16:54 -08:00
Kubernetes Prow Robot
4838ac95ca
Merge pull request #88624 from claudiubelu/tests/windows-create-pod-fix
tests: Create pod for Windows test
2020-03-02 16:16:46 -08:00
Kubernetes Prow Robot
f221dbb91b
Merge pull request #88505 from liggitt/pod-ip-patch
Honor status.podIP over status.podIPs and node.spec.podCIDR over node.spec.PodCIDRs when mismatched
2020-03-02 16:16:36 -08:00
Kubernetes Prow Robot
6c55e4b4f1
Merge pull request #88496 from chewong/fix-memory-limit-test-case
test: don't use hardcoded pod count for memory limit test
2020-03-02 16:16:27 -08:00
Kubernetes Prow Robot
7dccfd6121
Merge pull request #87631 from immutableT/extract-auth-metrics
Factor-out metrics related logic from authentication logic.
2020-03-02 16:16:19 -08:00
Kubernetes Prow Robot
a019609d5d
Merge pull request #87508 from jennybuckley/large-obj
Don't save managedFields if object is too large
2020-03-02 16:16:05 -08:00
Kubernetes Prow Robot
4b1ee392c1
Merge pull request #79083 from jackkleeman/client-cert-file-reload
Add ability to reload client certificates from disk
2020-03-02 16:15:53 -08:00
Kubernetes Prow Robot
a5048219ee
Merge pull request #76838 from claudiubelu/test-images/windows-support
test images: Adds Windows Container images support (part 1)
2020-03-02 16:15:38 -08:00
Jefftree
2a98cb7f8b Use GRPC mode for network proxy 2020-03-02 15:54:52 -08:00
Kubernetes Prow Robot
c51ad0cb61
Merge pull request #88735 from pancernik/plugin-args-api-improvements
Improve plugin args JSON tags
2020-03-02 14:51:06 -08:00
Kubernetes Prow Robot
26d497ac57
Merge pull request #88703 from tanjunchen/simplify-code
test/e2e/framework/service/:simplify function CreateTCPService and remove repeat const
2020-03-02 14:50:52 -08:00
Kubernetes Prow Robot
d04219bc8e
Merge pull request #88702 from dims/patch-2
Move conformance image to debian:stretch-slim
2020-03-02 14:50:40 -08:00
Kubernetes Prow Robot
1b4b155332
Merge pull request #88671 from alculquicondor/feat/default-spreading
Add default constraints to PodTopologySpread plugin
2020-03-02 14:50:25 -08:00
Kubernetes Prow Robot
01593144e6
Merge pull request #88657 from chendotjs/validate-ipvs-timeout
validate configuration of kube-proxy IPVS tcp,tcpfin,udp timeout
2020-03-02 14:50:16 -08:00
Kubernetes Prow Robot
d115206309
Merge pull request #88609 from yue9944882/chore/follow-up-metrics
Preserve legacy inflight metrics and fixes registration
2020-03-02 14:50:06 -08:00
Kubernetes Prow Robot
90a622bbdb
Merge pull request #88512 from SataQiu/fix-kubeproxy-20200225
kube-proxy: fix confusing default value for healthz and metrics bind address, deprecate healthz-port and metrics-port flag
2020-03-02 14:49:53 -08:00
Kubernetes Prow Robot
e1a69aee41
Merge pull request #86837 from inductor/feature/update_japaense_translation_for_kubectl
Update po file for kubectl Japanese translation
2020-03-02 14:49:39 -08:00
andrewsykim
674e539fca test/e2e/framework: remove dependencies to internal APIs
Signed-off-by: andrewsykim <kim.andrewsy@gmail.com>
2020-03-02 16:09:15 -05:00
Jack Kleeman
83a223f5ee Support intermediate certificate in certificate store 2020-03-02 20:24:04 +00:00
Kubernetes Prow Robot
24bf9e0327
Merge pull request #88727 from jsafrane/block-snapshot
Fix block snapshot tests
2020-03-02 11:43:36 -08:00
Kubernetes Prow Robot
e87cd59e1b
Merge pull request #88685 from fengzixu/move-util-functions
Refactor: move generic functions of integration test to util directory
2020-03-02 11:43:23 -08:00
Kubernetes Prow Robot
7e2394cbb0
Merge pull request #88660 from jsafrane/block-uncertain
Implement uncertain mount for block volumes
2020-03-02 11:43:08 -08:00
Jordan Liggitt
60da52a24a Honor status.podIP over status.podIPs, node.spec.podCIDR over node.spec.podCIDRs 2020-03-02 14:21:22 -05:00
Aldo Culquicondor
73ad38593a Add default constraints to PodTopologySpread
And update benchmark for even pod spreading to use default constraints

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-02 13:50:21 -05:00
Jefftree
0989770135 Update network proxy to v0.0.7 2020-03-02 10:09:00 -08:00
Jack Kleeman
929b1559a0 Add ReloadCertFromDisk flag to rest.Config and to kubeconfig which allows the provided client certificate files to be reloaded from disk (currently on every use)
Close outbound connections when using a cert callback and certificates rotate. This means that we won't get into a situation where we have open TLS connections using expires certs, which would get unauthorized errors at the apiserver

Attempt to retrieve a new certificate if open connections near expiry, to prevent the case where the cert expires but we haven't yet opened a new TLS connection and so GetClientCertificate hasn't been called.

Move certificate rotation logic to a separate function

Rely on generic transport approach to handle closing TLS client connections in exec plugin; no need to use a custom dialer as this is now the default behaviour of the transport when faced with a cert callback. As a result of handling this case, it is now safe to apply the transport approach even in cases where there is a custom Dialer (this will not affect kubelet connrotation behaviour, because that uses a custom transport, not just a dialer).

Check expiry of the full TLS certificate chain that will be presented, not only the leaf. Only do this check when the certificate actually rotates. Start the certificate as a zero value, not nil, so that we don't see a rotation when there is in fact no client certificate

Drain the timer when we first initialize it, to prevent immediate rotation. Additionally, calling Stop() on the timer isn't necessary.

Don't close connections on the first 'rotation'

Remove RotateCertFromDisk and RotateClientCertFromDisk flags.

Instead simply default to rotating certificates from disk whenever files are exclusively provided.

Add integration test for client certificate rotation

Simplify logic; rotate every 5 mins

Instead of trying to be clever and checking for rotation just before an
expiry, let's match the logic of the new apiserver cert rotation logic
as much as possible. We write a controller that checks for rotation
every 5 mins. We also check on every new connection.

Respond to review

Fix kubelet certificate rotation logic

The kubelet rotation logic seems to be broken because it expects its
cert files to end up as cert data whereas in fact they end up as a
callback. We should just call the tlsConfig GetCertificate callback
as this obtains a current cert even in cases where a static cert is
provided, and check that for validity.

Later on we can refactor all of the kubelet logic so that all it does is
write files to disk, and the cert rotation work does the rest.

Only read certificates once a second at most

Respond to review

1) Don't blat the cert file names
2) Make it more obvious where we have a neverstop
3) Naming
4) Verbosity

Avoid cache busting

Use filenames as cache keys when rotation is enabled, and add the
rotation later in the creation of the transport.

Caller should start the rotating dialer

Add continuous request rotation test

Rebase: use context in List/Watch

Swap goroutine around

Retry GETs on net.IsProbableEOF

Refactor certRotatingDialer

For simplicity, don't affect cert callbacks

To reduce change surface, lets not try to handle the case of a changing
GetCert callback in this PR. Reverting this commit should be sufficient
to handle that case in a later PR.

This PR will focus only on rotating certificate and key files.
Therefore, we don't need to modify the exec auth plugin.

Fix copyright year
2020-03-02 17:20:16 +00:00
Kubernetes Prow Robot
62e993ce09
Merge pull request #88401 from gongguan/volume_binder
refactor volume binder
2020-03-02 09:16:44 -08:00
Kubernetes Prow Robot
e9d502e4fc
Merge pull request #88663 from deads2k/enable-profiling-by-default
update kube-controller-manager and kube-scheduler to match kube-apiserver defaults
2020-03-02 07:24:43 -08:00
Rafal Wicha
09598d48f6 Improve plugin args JSON tags 2020-03-02 15:20:44 +00:00
Jan Safranek
f96c75bca2 Bump csi-driver-host-path version to get fixed block snapshots 2020-03-02 15:22:32 +01:00
yue9944882
1cb42445d7 hack/update-vendor.sh 2020-03-02 21:44:58 +08:00
Mike Spreitzer
dbe8436144 Replaced uber atomic with sync atomic, removed unneded "blank import" 2020-03-02 21:36:26 +08:00
Jan Safranek
104db4f01b Fix block snapshot tests
Use InjectContent / TestVolumeClient to test a snapshot volume, since these
functions support raw block volumes.
2020-03-02 14:18:40 +01:00
Jan Safranek
afcbb68386 Fix unit test to fail with proper final gRPC code
Plain "errors.New" is interpreted as transient error.
2020-03-02 12:54:03 +01:00
Jan Safranek
8536787133 Add unit tests 2020-03-02 12:54:02 +01:00
Jan Safranek
c11427fef5 Call NodeUnstage after NodeStage timeout
When NodeStage times out and does not prepare destination device and user
deletes corresponding pod, the driver may continue staging the volume in
background. Kubernetes must call NodeUnstage to "cancel" this operation.

Therefore TearDownDevice should be called even when the target directory
does not exist (yet).
2020-03-02 12:54:02 +01:00
Jan Safranek
f6fc73573c Call NodeUnpublish after NodePublish timeout
When NodePublish times out and user deletes corresponding pod, the driver
may continue publishing the volume. In order to "cancel" this operation,
Kubernetes must issue NodeUnpublish and wait until it finishes.

Therefore, NodeUnpublish should be called even if the target directory
(created by the driver) does not exist yet.
2020-03-02 12:54:02 +01:00
Jan Safranek
86a5bd98b6 Add uncertain map state to block volumes
Volume mount should be marked as uncertain after NodeStage / NodePublish
timeout or similar error, when the driver can continue with the operation in
background.
2020-03-02 12:54:02 +01:00
Kubernetes Prow Robot
39ed64ec4c
Merge pull request #88569 from andyzhangx/csi-corrupt-mnt-fix
fix: corrupted mount point in csi driver node stage/publish
2020-03-02 03:30:43 -08:00
Kubernetes Prow Robot
fdb2cb4c88
Merge pull request #88509 from robscott/ingress-v1beta1-class
Adding IngressClass to networking/v1beta1
2020-03-01 20:58:42 -08:00
chendotjs
e79f49ebba validate configuration of kube-proxy IPVS tcp,tcpfin,udp timeout 2020-03-02 10:28:52 +08:00
Rob Scott
132d2afca0
Adding IngressClass to networking/v1beta1
Co-authored-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2020-03-01 18:17:09 -08:00
Kubernetes Prow Robot
1d407216e7
Merge pull request #88699 from feiskyer/vmss-update-improvement
Improve performance for VMSS LoadBalancerBackendAddressPools updates
2020-03-01 17:40:42 -08:00
Jefftree
4c54241c3d Support token authentication for network proxy 2020-03-01 17:24:48 -08:00
tanjunchen
b63be6a46d test/e2e/framework/service/:simplify function CreateTCPService 2020-03-01 22:33:42 +08:00
Davanum Srinivas
f92c55a476
Make sure we fail the job and log more details when it does 2020-03-01 09:14:04 -05:00
Davanum Srinivas
bdea23380b
Move conformance image to debian:stretch-slim
Pros:
- really small image (see comparison below)
- we need to get rid of hyperkube in upcoming releases

```
davanum@cloudshell:~$ docker images
REPOSITORY                                       TAG                 IMAGE ID            CREATED             SIZE
debian                                           stretch-slim        4e6990ebcef5        4 days ago          55.3MB
gcr.io/google-containers/debian-hyperkube-base   0.12.1              a46476511725        13 months ago       393MB
```
2020-03-01 09:10:07 -05:00