Compare commits

...

6 Commits

Author SHA1 Message Date
Kubernetes Publisher
a47917edff Merge remote-tracking branch 'origin/master' into release-1.13
Kubernetes-commit: 016b73bae049309a13d1422b5fbd27e519bc3cca
2018-11-21 19:19:25 +00:00
Christoph Blecker
76c72f7e9e Update github.com/json-iterator/go to 1.1.4
Kubernetes-commit: c7d39519279937693e654149eb6b67af46836135
2018-11-20 18:13:01 -08:00
Kubernetes Publisher
99faa9d141 Merge remote-tracking branch 'origin/master' into release-1.13
Kubernetes-commit: e64f3e02a5c0bed379f582f06c714ab0a4eed768
2018-11-17 16:54:32 -08:00
Clayton Coleman
22a50a88ae Revert "Make bootstrap client cert loading part of rotation"
This reverts commit 0af19875add7deb562b2cf7bf6b1d273c44bab1b.

Revert "Ensure the bootstrap rotation code is tested by forcing rotation"

This reverts commit de293b2d7ddb687850258370f2a7f30f224f0ec1.

Kubernetes-commit: 34642222676640b3c1dd255cc453000f2743ccde
2018-11-17 10:24:23 -05:00
Clayton Coleman
9d25e41b0e Ensure the bootstrap rotation code is tested by forcing rotation
Expose both a Stop() method (for cleanup) and a method to force
cert rotation, but only expose Stop() on the interface.

Verify that we choose the correct client.

Kubernetes-commit: de293b2d7ddb687850258370f2a7f30f224f0ec1
2018-11-15 17:21:02 -05:00
Clayton Coleman
2ec13bc1ce Make bootstrap client cert loading part of rotation
Ensure that bootstrap+clientcert-rotation in the Kubelet can:

1. happen in the background so that static pods aren't blocked by bootstrap
2. collapse down to a single call path for requesting a CSR
3. reorganize the code to allow future flexibility in retrieving bootstrap creds

Fetching the first certificate and later certificates when the kubelet
is using client rotation and bootstrapping should share the same code
path. We also want to start the Kubelet static pod loop before
bootstrapping completes. Finally, we want to take an incremental step
towards improving how the bootstrap credentials are loaded from disk
(potentially allowing for a CLI call to get credentials, or a remote
plugin that better integrates with cloud providers or KSMs).

Reorganize how the kubelet client config is determined. If rotation is
off, simplify the code path. If rotation is on, load the config
from disk, and then pass that into the cert manager. The cert manager
creates a client each time it tries to request a new cert.

Preserve existing behavior where:

1. bootstrap kubeconfig is used if the current kubeconfig is invalid/expired
2. we create the kubeconfig file based on the bootstrap kubeconfig, pointing to
   the location that new client certs will be placed
3. the newest client cert is used once it has been loaded

Kubernetes-commit: 0af19875add7deb562b2cf7bf6b1d273c44bab1b
2018-10-16 12:52:47 -04:00

170
Godeps/Godeps.json generated
View File

@@ -160,7 +160,7 @@
},
{
"ImportPath": "github.com/json-iterator/go",
"Rev": "f2b4162afba35581b6d4a50d3b8f34e33c144682"
"Rev": "ab8a2e0c74be9d3be70b3184d9acc634935ded82"
},
{
"ImportPath": "github.com/modern-go/concurrent",
@@ -272,339 +272,339 @@
},
{
"ImportPath": "k8s.io/api/admissionregistration/v1alpha1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/admissionregistration/v1beta1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/apps/v1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/apps/v1beta1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/apps/v1beta2",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/auditregistration/v1alpha1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/authentication/v1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/authentication/v1beta1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/authorization/v1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/authorization/v1beta1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/autoscaling/v1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/autoscaling/v2beta1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/autoscaling/v2beta2",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/batch/v1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/batch/v1beta1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/batch/v2alpha1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/certificates/v1beta1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/coordination/v1beta1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/core/v1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/events/v1beta1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/extensions/v1beta1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/imagepolicy/v1alpha1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/networking/v1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/policy/v1beta1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/rbac/v1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/rbac/v1alpha1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/rbac/v1beta1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/scheduling/v1alpha1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/scheduling/v1beta1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/settings/v1alpha1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/storage/v1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/storage/v1alpha1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/api/storage/v1beta1",
"Rev": "d01564359763a39d310efc27866b63d4f5c92f1d"
"Rev": "a61488babbd64b32da2ed985e2e70fe7b4ffc05a"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/apitesting",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/apitesting/fuzzer",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/apitesting/roundtrip",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/equality",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/errors",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/meta",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/fuzzer",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/conversion",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/fields",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/labels",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/schema",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/selection",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/types",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/cache",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/clock",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/diff",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/errors",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/framer",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/httpstream",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/httpstream/spdy",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/intstr",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/json",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/naming",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/net",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/remotecommand",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/runtime",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/sets",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/validation",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/validation/field",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/wait",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/yaml",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/version",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/watch",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/netutil",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
"Rev": "0028e7a3cc82b29fea214c5793c77c24a23bb3ef"
"Rev": "a6dc8e30bd0d613be6277952802c814768ed60c9"
},
{
"ImportPath": "k8s.io/klog",