mirror of
https://github.com/k3s-io/k3s.git
synced 2024-06-07 19:41:36 +00:00
Vendor Update
This commit is contained in:
parent
c12d2a1aea
commit
9961b1a625
1
go.mod
1
go.mod
@ -117,6 +117,7 @@ require (
|
|||||||
k8s.io/apimachinery v0.0.0
|
k8s.io/apimachinery v0.0.0
|
||||||
k8s.io/apiserver v0.0.0
|
k8s.io/apiserver v0.0.0
|
||||||
k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible
|
k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible
|
||||||
|
k8s.io/cloud-provider v0.0.0
|
||||||
k8s.io/component-base v0.0.0
|
k8s.io/component-base v0.0.0
|
||||||
k8s.io/cri-api v0.0.0
|
k8s.io/cri-api v0.0.0
|
||||||
k8s.io/klog v0.4.0
|
k8s.io/klog v0.4.0
|
||||||
|
2
go.sum
2
go.sum
@ -563,8 +563,6 @@ github.com/rancher/containerd v1.3.0-k3s.1 h1:8dz25shb4egTLl0nOXQdtllx20LEXsuOs4
|
|||||||
github.com/rancher/containerd v1.3.0-k3s.1/go.mod h1:ZMfzmqce2Z+QSEqdHMfeJs1TZ/UeJ1aDrazjpQT4ehM=
|
github.com/rancher/containerd v1.3.0-k3s.1/go.mod h1:ZMfzmqce2Z+QSEqdHMfeJs1TZ/UeJ1aDrazjpQT4ehM=
|
||||||
github.com/rancher/cri-tools v1.16.0-k3s.1 h1:cv/iVFkfvDLfpSqGFwgyQbMKLGRzcXo8AALUsd8s5qE=
|
github.com/rancher/cri-tools v1.16.0-k3s.1 h1:cv/iVFkfvDLfpSqGFwgyQbMKLGRzcXo8AALUsd8s5qE=
|
||||||
github.com/rancher/cri-tools v1.16.0-k3s.1/go.mod h1:TEKhKv2EJIZp+p9jnEy4C63g8CosJzsI4kyKKkHag+8=
|
github.com/rancher/cri-tools v1.16.0-k3s.1/go.mod h1:TEKhKv2EJIZp+p9jnEy4C63g8CosJzsI4kyKKkHag+8=
|
||||||
github.com/rancher/dynamiclistener v0.0.0-20190926205813-e2ac9e2c193d h1:BPBA86IVuNX/S2g7Kry+jXcuftCWPRLpad1iyd1nP20=
|
|
||||||
github.com/rancher/dynamiclistener v0.0.0-20190926205813-e2ac9e2c193d/go.mod h1:vNqDnGTkrX8tiBUevkvjZoQoiZOjaahVbMaYRIl25l0=
|
|
||||||
github.com/rancher/dynamiclistener v0.1.1-0.20191010011134-8a2488bc860a h1:1bUYAv5U/Ky4YJ9o8gWxX+vNcjpIL3JWNBao70OlkFE=
|
github.com/rancher/dynamiclistener v0.1.1-0.20191010011134-8a2488bc860a h1:1bUYAv5U/Ky4YJ9o8gWxX+vNcjpIL3JWNBao70OlkFE=
|
||||||
github.com/rancher/dynamiclistener v0.1.1-0.20191010011134-8a2488bc860a/go.mod h1:8hbGf35mB7ormKEFqsAgjgeI5rLbj5N764jG41dNhps=
|
github.com/rancher/dynamiclistener v0.1.1-0.20191010011134-8a2488bc860a/go.mod h1:8hbGf35mB7ormKEFqsAgjgeI5rLbj5N764jG41dNhps=
|
||||||
github.com/rancher/flannel v0.11.0-k3s.1 h1:mIwnfWDafjzQgFkZeJ1AkFrrAT3EdBaA1giE0eLJKo8=
|
github.com/rancher/flannel v0.11.0-k3s.1 h1:mIwnfWDafjzQgFkZeJ1AkFrrAT3EdBaA1giE0eLJKo8=
|
||||||
|
59
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/BUILD
generated
vendored
Normal file
59
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/BUILD
generated
vendored
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||||
|
|
||||||
|
go_library(
|
||||||
|
name = "go_default_library",
|
||||||
|
srcs = [
|
||||||
|
"controllermanager.go",
|
||||||
|
"core.go",
|
||||||
|
],
|
||||||
|
importpath = "k8s.io/kubernetes/cmd/cloud-controller-manager/app",
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
deps = [
|
||||||
|
"//cmd/cloud-controller-manager/app/config:go_default_library",
|
||||||
|
"//cmd/cloud-controller-manager/app/options:go_default_library",
|
||||||
|
"//cmd/controller-manager/app:go_default_library",
|
||||||
|
"//pkg/controller/cloud:go_default_library",
|
||||||
|
"//pkg/controller/route:go_default_library",
|
||||||
|
"//pkg/controller/service:go_default_library",
|
||||||
|
"//pkg/features:go_default_library",
|
||||||
|
"//pkg/util/configz:go_default_library",
|
||||||
|
"//pkg/util/flag:go_default_library",
|
||||||
|
"//pkg/version/verflag:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/uuid:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apiserver/pkg/server:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apiserver/pkg/server/healthz:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apiserver/pkg/util/term:go_default_library",
|
||||||
|
"//staging/src/k8s.io/client-go/tools/leaderelection:go_default_library",
|
||||||
|
"//staging/src/k8s.io/client-go/tools/leaderelection/resourcelock:go_default_library",
|
||||||
|
"//staging/src/k8s.io/cloud-provider:go_default_library",
|
||||||
|
"//staging/src/k8s.io/component-base/cli/flag:go_default_library",
|
||||||
|
"//staging/src/k8s.io/component-base/cli/globalflag:go_default_library",
|
||||||
|
"//staging/src/k8s.io/component-base/version:go_default_library",
|
||||||
|
"//vendor/github.com/spf13/cobra:go_default_library",
|
||||||
|
"//vendor/k8s.io/klog:go_default_library",
|
||||||
|
"//vendor/k8s.io/utils/net:go_default_library",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "package-srcs",
|
||||||
|
srcs = glob(["**"]),
|
||||||
|
tags = ["automanaged"],
|
||||||
|
visibility = ["//visibility:private"],
|
||||||
|
)
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "all-srcs",
|
||||||
|
srcs = [
|
||||||
|
":package-srcs",
|
||||||
|
"//cmd/cloud-controller-manager/app/apis/config:all-srcs",
|
||||||
|
"//cmd/cloud-controller-manager/app/config:all-srcs",
|
||||||
|
"//cmd/cloud-controller-manager/app/options:all-srcs",
|
||||||
|
"//cmd/cloud-controller-manager/app/testing:all-srcs",
|
||||||
|
],
|
||||||
|
tags = ["automanaged"],
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
)
|
38
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/BUILD
generated
vendored
Normal file
38
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/BUILD
generated
vendored
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||||
|
|
||||||
|
go_library(
|
||||||
|
name = "go_default_library",
|
||||||
|
srcs = [
|
||||||
|
"doc.go",
|
||||||
|
"register.go",
|
||||||
|
"types.go",
|
||||||
|
"zz_generated.deepcopy.go",
|
||||||
|
],
|
||||||
|
importpath = "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config",
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
deps = [
|
||||||
|
"//pkg/controller/apis/config:go_default_library",
|
||||||
|
"//pkg/controller/service/config:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "package-srcs",
|
||||||
|
srcs = glob(["**"]),
|
||||||
|
tags = ["automanaged"],
|
||||||
|
visibility = ["//visibility:private"],
|
||||||
|
)
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "all-srcs",
|
||||||
|
srcs = [
|
||||||
|
":package-srcs",
|
||||||
|
"//cmd/cloud-controller-manager/app/apis/config/scheme:all-srcs",
|
||||||
|
"//cmd/cloud-controller-manager/app/apis/config/v1alpha1:all-srcs",
|
||||||
|
],
|
||||||
|
tags = ["automanaged"],
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
)
|
20
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/doc.go
generated
vendored
Normal file
20
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/doc.go
generated
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2018 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +groupName=cloudcontrollermanager.config.k8s.io
|
||||||
|
|
||||||
|
package config // import "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config"
|
42
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/register.go
generated
vendored
Normal file
42
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/register.go
generated
vendored
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2018 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package config
|
||||||
|
|
||||||
|
import (
|
||||||
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
|
)
|
||||||
|
|
||||||
|
// GroupName is the group name used in this package
|
||||||
|
const GroupName = "cloudcontrollermanager.config.k8s.io"
|
||||||
|
|
||||||
|
var (
|
||||||
|
// SchemeGroupVersion is group version used to register these objects
|
||||||
|
SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
|
||||||
|
// SchemeBuilder is the scheme builder with scheme init functions to run for this API package
|
||||||
|
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
|
||||||
|
// AddToScheme is a global function that registers this API group & version to a scheme
|
||||||
|
AddToScheme = SchemeBuilder.AddToScheme
|
||||||
|
)
|
||||||
|
|
||||||
|
// addKnownTypes registers known types to the given scheme
|
||||||
|
func addKnownTypes(scheme *runtime.Scheme) error {
|
||||||
|
scheme.AddKnownTypes(SchemeGroupVersion,
|
||||||
|
&CloudControllerManagerConfiguration{},
|
||||||
|
)
|
||||||
|
return nil
|
||||||
|
}
|
29
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/scheme/BUILD
generated
vendored
Normal file
29
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/scheme/BUILD
generated
vendored
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||||
|
|
||||||
|
go_library(
|
||||||
|
name = "go_default_library",
|
||||||
|
srcs = ["scheme.go"],
|
||||||
|
importpath = "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/scheme",
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
deps = [
|
||||||
|
"//cmd/cloud-controller-manager/app/apis/config:go_default_library",
|
||||||
|
"//cmd/cloud-controller-manager/app/apis/config/v1alpha1:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/runtime:go_default_library",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "package-srcs",
|
||||||
|
srcs = glob(["**"]),
|
||||||
|
tags = ["automanaged"],
|
||||||
|
visibility = ["//visibility:private"],
|
||||||
|
)
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "all-srcs",
|
||||||
|
srcs = [":package-srcs"],
|
||||||
|
tags = ["automanaged"],
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
)
|
44
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/scheme/scheme.go
generated
vendored
Normal file
44
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/scheme/scheme.go
generated
vendored
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2018 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package scheme
|
||||||
|
|
||||||
|
import (
|
||||||
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||||
|
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||||
|
"k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config"
|
||||||
|
"k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
// Scheme defines methods for serializing and deserializing API objects.
|
||||||
|
Scheme = runtime.NewScheme()
|
||||||
|
// Codecs provides methods for retrieving codecs and serializers for specific
|
||||||
|
// versions and content types.
|
||||||
|
Codecs = serializer.NewCodecFactory(Scheme)
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
AddToScheme(Scheme)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AddToScheme adds the types of this group into the given scheme.
|
||||||
|
func AddToScheme(scheme *runtime.Scheme) {
|
||||||
|
utilruntime.Must(config.AddToScheme(scheme))
|
||||||
|
utilruntime.Must(v1alpha1.AddToScheme(scheme))
|
||||||
|
utilruntime.Must(scheme.SetVersionPriority(v1alpha1.SchemeGroupVersion))
|
||||||
|
}
|
43
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/types.go
generated
vendored
Normal file
43
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/types.go
generated
vendored
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2018 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package config
|
||||||
|
|
||||||
|
import (
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
kubectrlmgrconfig "k8s.io/kubernetes/pkg/controller/apis/config"
|
||||||
|
serviceconfig "k8s.io/kubernetes/pkg/controller/service/config"
|
||||||
|
)
|
||||||
|
|
||||||
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
|
// CloudControllerManagerConfiguration contains elements describing cloud-controller manager.
|
||||||
|
type CloudControllerManagerConfiguration struct {
|
||||||
|
metav1.TypeMeta
|
||||||
|
|
||||||
|
// Generic holds configuration for a generic controller-manager
|
||||||
|
Generic kubectrlmgrconfig.GenericControllerManagerConfiguration
|
||||||
|
// KubeCloudSharedConfiguration holds configuration for shared related features
|
||||||
|
// both in cloud controller manager and kube-controller manager.
|
||||||
|
KubeCloudShared kubectrlmgrconfig.KubeCloudSharedConfiguration
|
||||||
|
|
||||||
|
// ServiceControllerConfiguration holds configuration for ServiceController
|
||||||
|
// related features.
|
||||||
|
ServiceController serviceconfig.ServiceControllerConfiguration
|
||||||
|
|
||||||
|
// NodeStatusUpdateFrequency is the frequency at which the controller updates nodes' status
|
||||||
|
NodeStatusUpdateFrequency metav1.Duration
|
||||||
|
}
|
51
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/BUILD
generated
vendored
Normal file
51
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/BUILD
generated
vendored
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
|
||||||
|
|
||||||
|
go_library(
|
||||||
|
name = "go_default_library",
|
||||||
|
srcs = [
|
||||||
|
"defaults.go",
|
||||||
|
"doc.go",
|
||||||
|
"register.go",
|
||||||
|
"types.go",
|
||||||
|
"zz_generated.conversion.go",
|
||||||
|
"zz_generated.deepcopy.go",
|
||||||
|
"zz_generated.defaults.go",
|
||||||
|
],
|
||||||
|
importpath = "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1",
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
deps = [
|
||||||
|
"//cmd/cloud-controller-manager/app/apis/config:go_default_library",
|
||||||
|
"//pkg/controller/apis/config/v1alpha1:go_default_library",
|
||||||
|
"//pkg/controller/service/config/v1alpha1:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/conversion:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
||||||
|
"//staging/src/k8s.io/kube-controller-manager/config/v1alpha1:go_default_library",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
go_test(
|
||||||
|
name = "go_default_test",
|
||||||
|
srcs = ["defaults_test.go"],
|
||||||
|
embed = [":go_default_library"],
|
||||||
|
deps = [
|
||||||
|
"//staging/src/k8s.io/api/core/v1:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "package-srcs",
|
||||||
|
srcs = glob(["**"]),
|
||||||
|
tags = ["automanaged"],
|
||||||
|
visibility = ["//visibility:private"],
|
||||||
|
)
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "all-srcs",
|
||||||
|
srcs = [":package-srcs"],
|
||||||
|
tags = ["automanaged"],
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
)
|
51
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/defaults.go
generated
vendored
Normal file
51
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/defaults.go
generated
vendored
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2018 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1alpha1
|
||||||
|
|
||||||
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
|
kubectrlmgrconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/apis/config/v1alpha1"
|
||||||
|
serviceconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/service/config/v1alpha1"
|
||||||
|
)
|
||||||
|
|
||||||
|
func addDefaultingFuncs(scheme *runtime.Scheme) error {
|
||||||
|
return RegisterDefaults(scheme)
|
||||||
|
}
|
||||||
|
|
||||||
|
func SetDefaults_CloudControllerManagerConfiguration(obj *CloudControllerManagerConfiguration) {
|
||||||
|
zero := metav1.Duration{}
|
||||||
|
if obj.NodeStatusUpdateFrequency == zero {
|
||||||
|
obj.NodeStatusUpdateFrequency = metav1.Duration{Duration: 5 * time.Minute}
|
||||||
|
}
|
||||||
|
|
||||||
|
// These defaults override the recommended defaults from the apimachineryconfigv1alpha1 package that are applied automatically
|
||||||
|
// These client-connection defaults are specific to the cloud-controller-manager
|
||||||
|
if obj.Generic.ClientConnection.QPS == 0 {
|
||||||
|
obj.Generic.ClientConnection.QPS = 20
|
||||||
|
}
|
||||||
|
if obj.Generic.ClientConnection.Burst == 0 {
|
||||||
|
obj.Generic.ClientConnection.Burst = 30
|
||||||
|
}
|
||||||
|
|
||||||
|
// Use the default RecommendedDefaultGenericControllerManagerConfiguration options
|
||||||
|
kubectrlmgrconfigv1alpha1.RecommendedDefaultGenericControllerManagerConfiguration(&obj.Generic)
|
||||||
|
// Use the default RecommendedDefaultServiceControllerConfiguration options
|
||||||
|
serviceconfigv1alpha1.RecommendedDefaultServiceControllerConfiguration(&obj.ServiceController)
|
||||||
|
}
|
31
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/doc.go
generated
vendored
Normal file
31
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/doc.go
generated
vendored
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2018 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Note: The referenced generic ComponentConfig packages with conversions
|
||||||
|
// between the types (e.g. the external package) needs to be given as an
|
||||||
|
// input to conversion-gen for it to find the native conversation funcs to
|
||||||
|
// call.
|
||||||
|
|
||||||
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:conversion-gen=k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config
|
||||||
|
// +k8s:conversion-gen=k8s.io/component-base/config/v1alpha1
|
||||||
|
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/controller/apis/config/v1alpha1
|
||||||
|
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/controller/service/config/v1alpha1
|
||||||
|
// +k8s:openapi-gen=true
|
||||||
|
// +k8s:defaulter-gen=TypeMeta
|
||||||
|
// +groupName=cloudcontrollermanager.config.k8s.io
|
||||||
|
|
||||||
|
package v1alpha1 // import "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1"
|
52
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/register.go
generated
vendored
Normal file
52
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/register.go
generated
vendored
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2018 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1alpha1
|
||||||
|
|
||||||
|
import (
|
||||||
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
|
)
|
||||||
|
|
||||||
|
// GroupName is the group name use in this package
|
||||||
|
const GroupName = "cloudcontrollermanager.config.k8s.io"
|
||||||
|
|
||||||
|
var (
|
||||||
|
// GroupName is the group name use in this package
|
||||||
|
SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
|
||||||
|
// SchemeBuilder is the scheme builder with scheme init functions to run for this API package
|
||||||
|
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
|
||||||
|
// localSchemeBuilder ïs a pointer to SchemeBuilder instance. Using localSchemeBuilder
|
||||||
|
// defaulting and conversion init funcs are registered as well.
|
||||||
|
localSchemeBuilder = &SchemeBuilder
|
||||||
|
// AddToScheme is a global function that registers this API group & version to a scheme
|
||||||
|
AddToScheme = localSchemeBuilder.AddToScheme
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
// We only register manually written functions here. The registration of the
|
||||||
|
// generated functions takes place in the generated files. The separation
|
||||||
|
// makes the code compile even when the generated files are missing.
|
||||||
|
localSchemeBuilder.Register(addDefaultingFuncs)
|
||||||
|
}
|
||||||
|
|
||||||
|
// addKnownTypes registers known types to the given scheme
|
||||||
|
func addKnownTypes(scheme *runtime.Scheme) error {
|
||||||
|
scheme.AddKnownTypes(SchemeGroupVersion,
|
||||||
|
&CloudControllerManagerConfiguration{},
|
||||||
|
)
|
||||||
|
return nil
|
||||||
|
}
|
39
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/types.go
generated
vendored
Normal file
39
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/types.go
generated
vendored
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2018 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1alpha1
|
||||||
|
|
||||||
|
import (
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
kubectrlmgrconfigv1alpha1 "k8s.io/kube-controller-manager/config/v1alpha1"
|
||||||
|
)
|
||||||
|
|
||||||
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
|
type CloudControllerManagerConfiguration struct {
|
||||||
|
metav1.TypeMeta `json:",inline"`
|
||||||
|
|
||||||
|
// Generic holds configuration for a generic controller-manager
|
||||||
|
Generic kubectrlmgrconfigv1alpha1.GenericControllerManagerConfiguration
|
||||||
|
// KubeCloudSharedConfiguration holds configuration for shared related features
|
||||||
|
// both in cloud controller manager and kube-controller manager.
|
||||||
|
KubeCloudShared kubectrlmgrconfigv1alpha1.KubeCloudSharedConfiguration
|
||||||
|
// ServiceControllerConfiguration holds configuration for ServiceController
|
||||||
|
// related features.
|
||||||
|
ServiceController kubectrlmgrconfigv1alpha1.ServiceControllerConfiguration
|
||||||
|
// NodeStatusUpdateFrequency is the frequency at which the controller updates nodes' status
|
||||||
|
NodeStatusUpdateFrequency metav1.Duration
|
||||||
|
}
|
87
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/zz_generated.conversion.go
generated
vendored
Normal file
87
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/zz_generated.conversion.go
generated
vendored
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
// +build !ignore_autogenerated
|
||||||
|
|
||||||
|
/*
|
||||||
|
Copyright The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by conversion-gen. DO NOT EDIT.
|
||||||
|
|
||||||
|
package v1alpha1
|
||||||
|
|
||||||
|
import (
|
||||||
|
conversion "k8s.io/apimachinery/pkg/conversion"
|
||||||
|
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||||
|
config "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config"
|
||||||
|
configv1alpha1 "k8s.io/kubernetes/pkg/controller/apis/config/v1alpha1"
|
||||||
|
serviceconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/service/config/v1alpha1"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
localSchemeBuilder.Register(RegisterConversions)
|
||||||
|
}
|
||||||
|
|
||||||
|
// RegisterConversions adds conversion functions to the given scheme.
|
||||||
|
// Public to allow building arbitrary schemes.
|
||||||
|
func RegisterConversions(s *runtime.Scheme) error {
|
||||||
|
if err := s.AddGeneratedConversionFunc((*CloudControllerManagerConfiguration)(nil), (*config.CloudControllerManagerConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_v1alpha1_CloudControllerManagerConfiguration_To_config_CloudControllerManagerConfiguration(a.(*CloudControllerManagerConfiguration), b.(*config.CloudControllerManagerConfiguration), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := s.AddGeneratedConversionFunc((*config.CloudControllerManagerConfiguration)(nil), (*CloudControllerManagerConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_config_CloudControllerManagerConfiguration_To_v1alpha1_CloudControllerManagerConfiguration(a.(*config.CloudControllerManagerConfiguration), b.(*CloudControllerManagerConfiguration), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func autoConvert_v1alpha1_CloudControllerManagerConfiguration_To_config_CloudControllerManagerConfiguration(in *CloudControllerManagerConfiguration, out *config.CloudControllerManagerConfiguration, s conversion.Scope) error {
|
||||||
|
if err := configv1alpha1.Convert_v1alpha1_GenericControllerManagerConfiguration_To_config_GenericControllerManagerConfiguration(&in.Generic, &out.Generic, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := configv1alpha1.Convert_v1alpha1_KubeCloudSharedConfiguration_To_config_KubeCloudSharedConfiguration(&in.KubeCloudShared, &out.KubeCloudShared, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := serviceconfigv1alpha1.Convert_v1alpha1_ServiceControllerConfiguration_To_config_ServiceControllerConfiguration(&in.ServiceController, &out.ServiceController, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
out.NodeStatusUpdateFrequency = in.NodeStatusUpdateFrequency
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert_v1alpha1_CloudControllerManagerConfiguration_To_config_CloudControllerManagerConfiguration is an autogenerated conversion function.
|
||||||
|
func Convert_v1alpha1_CloudControllerManagerConfiguration_To_config_CloudControllerManagerConfiguration(in *CloudControllerManagerConfiguration, out *config.CloudControllerManagerConfiguration, s conversion.Scope) error {
|
||||||
|
return autoConvert_v1alpha1_CloudControllerManagerConfiguration_To_config_CloudControllerManagerConfiguration(in, out, s)
|
||||||
|
}
|
||||||
|
|
||||||
|
func autoConvert_config_CloudControllerManagerConfiguration_To_v1alpha1_CloudControllerManagerConfiguration(in *config.CloudControllerManagerConfiguration, out *CloudControllerManagerConfiguration, s conversion.Scope) error {
|
||||||
|
if err := configv1alpha1.Convert_config_GenericControllerManagerConfiguration_To_v1alpha1_GenericControllerManagerConfiguration(&in.Generic, &out.Generic, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := configv1alpha1.Convert_config_KubeCloudSharedConfiguration_To_v1alpha1_KubeCloudSharedConfiguration(&in.KubeCloudShared, &out.KubeCloudShared, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := serviceconfigv1alpha1.Convert_config_ServiceControllerConfiguration_To_v1alpha1_ServiceControllerConfiguration(&in.ServiceController, &out.ServiceController, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
out.NodeStatusUpdateFrequency = in.NodeStatusUpdateFrequency
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert_config_CloudControllerManagerConfiguration_To_v1alpha1_CloudControllerManagerConfiguration is an autogenerated conversion function.
|
||||||
|
func Convert_config_CloudControllerManagerConfiguration_To_v1alpha1_CloudControllerManagerConfiguration(in *config.CloudControllerManagerConfiguration, out *CloudControllerManagerConfiguration, s conversion.Scope) error {
|
||||||
|
return autoConvert_config_CloudControllerManagerConfiguration_To_v1alpha1_CloudControllerManagerConfiguration(in, out, s)
|
||||||
|
}
|
54
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/zz_generated.deepcopy.go
generated
vendored
Normal file
54
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/zz_generated.deepcopy.go
generated
vendored
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
// +build !ignore_autogenerated
|
||||||
|
|
||||||
|
/*
|
||||||
|
Copyright The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by deepcopy-gen. DO NOT EDIT.
|
||||||
|
|
||||||
|
package v1alpha1
|
||||||
|
|
||||||
|
import (
|
||||||
|
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||||
|
)
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *CloudControllerManagerConfiguration) DeepCopyInto(out *CloudControllerManagerConfiguration) {
|
||||||
|
*out = *in
|
||||||
|
out.TypeMeta = in.TypeMeta
|
||||||
|
in.Generic.DeepCopyInto(&out.Generic)
|
||||||
|
in.KubeCloudShared.DeepCopyInto(&out.KubeCloudShared)
|
||||||
|
out.ServiceController = in.ServiceController
|
||||||
|
out.NodeStatusUpdateFrequency = in.NodeStatusUpdateFrequency
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudControllerManagerConfiguration.
|
||||||
|
func (in *CloudControllerManagerConfiguration) DeepCopy() *CloudControllerManagerConfiguration {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(CloudControllerManagerConfiguration)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||||
|
func (in *CloudControllerManagerConfiguration) DeepCopyObject() runtime.Object {
|
||||||
|
if c := in.DeepCopy(); c != nil {
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
41
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/zz_generated.defaults.go
generated
vendored
Normal file
41
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1/zz_generated.defaults.go
generated
vendored
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
// +build !ignore_autogenerated
|
||||||
|
|
||||||
|
/*
|
||||||
|
Copyright The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by defaulter-gen. DO NOT EDIT.
|
||||||
|
|
||||||
|
package v1alpha1
|
||||||
|
|
||||||
|
import (
|
||||||
|
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||||
|
configv1alpha1 "k8s.io/kubernetes/pkg/controller/apis/config/v1alpha1"
|
||||||
|
)
|
||||||
|
|
||||||
|
// RegisterDefaults adds defaulters functions to the given scheme.
|
||||||
|
// Public to allow building arbitrary schemes.
|
||||||
|
// All generated defaulters are covering - they call all nested defaulters.
|
||||||
|
func RegisterDefaults(scheme *runtime.Scheme) error {
|
||||||
|
scheme.AddTypeDefaultingFunc(&CloudControllerManagerConfiguration{}, func(obj interface{}) {
|
||||||
|
SetObjectDefaults_CloudControllerManagerConfiguration(obj.(*CloudControllerManagerConfiguration))
|
||||||
|
})
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func SetObjectDefaults_CloudControllerManagerConfiguration(in *CloudControllerManagerConfiguration) {
|
||||||
|
SetDefaults_CloudControllerManagerConfiguration(in)
|
||||||
|
configv1alpha1.SetDefaults_KubeCloudSharedConfiguration(&in.KubeCloudShared)
|
||||||
|
}
|
54
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/zz_generated.deepcopy.go
generated
vendored
Normal file
54
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/zz_generated.deepcopy.go
generated
vendored
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
// +build !ignore_autogenerated
|
||||||
|
|
||||||
|
/*
|
||||||
|
Copyright The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by deepcopy-gen. DO NOT EDIT.
|
||||||
|
|
||||||
|
package config
|
||||||
|
|
||||||
|
import (
|
||||||
|
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||||
|
)
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *CloudControllerManagerConfiguration) DeepCopyInto(out *CloudControllerManagerConfiguration) {
|
||||||
|
*out = *in
|
||||||
|
out.TypeMeta = in.TypeMeta
|
||||||
|
in.Generic.DeepCopyInto(&out.Generic)
|
||||||
|
out.KubeCloudShared = in.KubeCloudShared
|
||||||
|
out.ServiceController = in.ServiceController
|
||||||
|
out.NodeStatusUpdateFrequency = in.NodeStatusUpdateFrequency
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudControllerManagerConfiguration.
|
||||||
|
func (in *CloudControllerManagerConfiguration) DeepCopy() *CloudControllerManagerConfiguration {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(CloudControllerManagerConfiguration)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||||
|
func (in *CloudControllerManagerConfiguration) DeepCopyObject() runtime.Object {
|
||||||
|
if c := in.DeepCopy(); c != nil {
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
31
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/config/BUILD
generated
vendored
Normal file
31
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/config/BUILD
generated
vendored
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||||
|
|
||||||
|
go_library(
|
||||||
|
name = "go_default_library",
|
||||||
|
srcs = ["config.go"],
|
||||||
|
importpath = "k8s.io/kubernetes/cmd/cloud-controller-manager/app/config",
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
deps = [
|
||||||
|
"//cmd/cloud-controller-manager/app/apis/config:go_default_library",
|
||||||
|
"//pkg/controller:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apiserver/pkg/server:go_default_library",
|
||||||
|
"//staging/src/k8s.io/client-go/informers:go_default_library",
|
||||||
|
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
|
||||||
|
"//staging/src/k8s.io/client-go/rest:go_default_library",
|
||||||
|
"//staging/src/k8s.io/client-go/tools/record:go_default_library",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "package-srcs",
|
||||||
|
srcs = glob(["**"]),
|
||||||
|
tags = ["automanaged"],
|
||||||
|
visibility = ["//visibility:private"],
|
||||||
|
)
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "all-srcs",
|
||||||
|
srcs = [":package-srcs"],
|
||||||
|
tags = ["automanaged"],
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
)
|
81
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/config/config.go
generated
vendored
Normal file
81
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/config/config.go
generated
vendored
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2018 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package app
|
||||||
|
|
||||||
|
import (
|
||||||
|
apiserver "k8s.io/apiserver/pkg/server"
|
||||||
|
"k8s.io/client-go/informers"
|
||||||
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
|
restclient "k8s.io/client-go/rest"
|
||||||
|
"k8s.io/client-go/tools/record"
|
||||||
|
ccmconfig "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config"
|
||||||
|
"k8s.io/kubernetes/pkg/controller"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Config is the main context object for the cloud controller manager.
|
||||||
|
type Config struct {
|
||||||
|
ComponentConfig ccmconfig.CloudControllerManagerConfiguration
|
||||||
|
|
||||||
|
SecureServing *apiserver.SecureServingInfo
|
||||||
|
// LoopbackClientConfig is a config for a privileged loopback connection
|
||||||
|
LoopbackClientConfig *restclient.Config
|
||||||
|
|
||||||
|
// TODO: remove deprecated insecure serving
|
||||||
|
InsecureServing *apiserver.DeprecatedInsecureServingInfo
|
||||||
|
Authentication apiserver.AuthenticationInfo
|
||||||
|
Authorization apiserver.AuthorizationInfo
|
||||||
|
|
||||||
|
// the general kube client
|
||||||
|
Client *clientset.Clientset
|
||||||
|
|
||||||
|
// the client only used for leader election
|
||||||
|
LeaderElectionClient *clientset.Clientset
|
||||||
|
|
||||||
|
// the rest config for the master
|
||||||
|
Kubeconfig *restclient.Config
|
||||||
|
|
||||||
|
// the event sink
|
||||||
|
EventRecorder record.EventRecorder
|
||||||
|
|
||||||
|
// ClientBuilder will provide a client for this controller to use
|
||||||
|
ClientBuilder controller.ControllerClientBuilder
|
||||||
|
|
||||||
|
// VersionedClient will provide a client for informers
|
||||||
|
VersionedClient clientset.Interface
|
||||||
|
|
||||||
|
// SharedInformers gives access to informers for the controller.
|
||||||
|
SharedInformers informers.SharedInformerFactory
|
||||||
|
}
|
||||||
|
|
||||||
|
type completedConfig struct {
|
||||||
|
*Config
|
||||||
|
}
|
||||||
|
|
||||||
|
// CompletedConfig same as Config, just to swap private object.
|
||||||
|
type CompletedConfig struct {
|
||||||
|
// Embed a private pointer that cannot be instantiated outside of this package.
|
||||||
|
*completedConfig
|
||||||
|
}
|
||||||
|
|
||||||
|
// Complete fills in any fields not set that are required to have valid data. It's mutating the receiver.
|
||||||
|
func (c *Config) Complete() *CompletedConfig {
|
||||||
|
cc := completedConfig{c}
|
||||||
|
|
||||||
|
apiserver.AuthorizeClientBearerToken(c.LoopbackClientConfig, &c.Authentication, &c.Authorization)
|
||||||
|
|
||||||
|
return &CompletedConfig{&cc}
|
||||||
|
}
|
283
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/controllermanager.go
generated
vendored
Normal file
283
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/controllermanager.go
generated
vendored
Normal file
@ -0,0 +1,283 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2016 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package app
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"flag"
|
||||||
|
"fmt"
|
||||||
|
"net/http"
|
||||||
|
"os"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
|
"k8s.io/apimachinery/pkg/util/uuid"
|
||||||
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
|
"k8s.io/apiserver/pkg/server"
|
||||||
|
"k8s.io/apiserver/pkg/server/healthz"
|
||||||
|
"k8s.io/apiserver/pkg/util/term"
|
||||||
|
"k8s.io/client-go/tools/leaderelection"
|
||||||
|
"k8s.io/client-go/tools/leaderelection/resourcelock"
|
||||||
|
cloudprovider "k8s.io/cloud-provider"
|
||||||
|
cliflag "k8s.io/component-base/cli/flag"
|
||||||
|
"k8s.io/component-base/cli/globalflag"
|
||||||
|
"k8s.io/component-base/version"
|
||||||
|
"k8s.io/klog"
|
||||||
|
cloudcontrollerconfig "k8s.io/kubernetes/cmd/cloud-controller-manager/app/config"
|
||||||
|
"k8s.io/kubernetes/cmd/cloud-controller-manager/app/options"
|
||||||
|
genericcontrollermanager "k8s.io/kubernetes/cmd/controller-manager/app"
|
||||||
|
"k8s.io/kubernetes/pkg/util/configz"
|
||||||
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
|
"k8s.io/kubernetes/pkg/version/verflag"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
// ControllerStartJitter is the jitter value used when starting controller managers.
|
||||||
|
ControllerStartJitter = 1.0
|
||||||
|
// ConfigzName is the name used for register cloud-controller manager /configz, same with GroupName.
|
||||||
|
ConfigzName = "cloudcontrollermanager.config.k8s.io"
|
||||||
|
)
|
||||||
|
|
||||||
|
// NewCloudControllerManagerCommand creates a *cobra.Command object with default parameters
|
||||||
|
func NewCloudControllerManagerCommand() *cobra.Command {
|
||||||
|
s, err := options.NewCloudControllerManagerOptions()
|
||||||
|
if err != nil {
|
||||||
|
klog.Fatalf("unable to initialize command options: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd := &cobra.Command{
|
||||||
|
Use: "cloud-controller-manager",
|
||||||
|
Long: `The Cloud controller manager is a daemon that embeds
|
||||||
|
the cloud specific control loops shipped with Kubernetes.`,
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
verflag.PrintAndExitIfRequested()
|
||||||
|
utilflag.PrintFlags(cmd.Flags())
|
||||||
|
|
||||||
|
c, err := s.Config(KnownControllers(), ControllersDisabledByDefault.List())
|
||||||
|
if err != nil {
|
||||||
|
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := Run(c.Complete(), wait.NeverStop); err != nil {
|
||||||
|
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
fs := cmd.Flags()
|
||||||
|
namedFlagSets := s.Flags(KnownControllers(), ControllersDisabledByDefault.List())
|
||||||
|
verflag.AddFlags(namedFlagSets.FlagSet("global"))
|
||||||
|
globalflag.AddGlobalFlags(namedFlagSets.FlagSet("global"), cmd.Name())
|
||||||
|
|
||||||
|
if flag.CommandLine.Lookup("cloud-provider-gce-lb-src-cidrs") != nil {
|
||||||
|
// hoist this flag from the global flagset to preserve the commandline until
|
||||||
|
// the gce cloudprovider is removed.
|
||||||
|
globalflag.Register(namedFlagSets.FlagSet("generic"), "cloud-provider-gce-lb-src-cidrs")
|
||||||
|
}
|
||||||
|
for _, f := range namedFlagSets.FlagSets {
|
||||||
|
fs.AddFlagSet(f)
|
||||||
|
}
|
||||||
|
usageFmt := "Usage:\n %s\n"
|
||||||
|
cols, _, _ := term.TerminalSize(cmd.OutOrStdout())
|
||||||
|
cmd.SetUsageFunc(func(cmd *cobra.Command) error {
|
||||||
|
fmt.Fprintf(cmd.OutOrStderr(), usageFmt, cmd.UseLine())
|
||||||
|
cliflag.PrintSections(cmd.OutOrStderr(), namedFlagSets, cols)
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
cmd.SetHelpFunc(func(cmd *cobra.Command, args []string) {
|
||||||
|
fmt.Fprintf(cmd.OutOrStdout(), "%s\n\n"+usageFmt, cmd.Long, cmd.UseLine())
|
||||||
|
cliflag.PrintSections(cmd.OutOrStdout(), namedFlagSets, cols)
|
||||||
|
})
|
||||||
|
|
||||||
|
return cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
// Run runs the ExternalCMServer. This should never exit.
|
||||||
|
func Run(c *cloudcontrollerconfig.CompletedConfig, stopCh <-chan struct{}) error {
|
||||||
|
// To help debugging, immediately log version
|
||||||
|
klog.Infof("Version: %+v", version.Get())
|
||||||
|
|
||||||
|
cloud, err := cloudprovider.InitCloudProvider(c.ComponentConfig.KubeCloudShared.CloudProvider.Name, c.ComponentConfig.KubeCloudShared.CloudProvider.CloudConfigFile)
|
||||||
|
if err != nil {
|
||||||
|
klog.Fatalf("Cloud provider could not be initialized: %v", err)
|
||||||
|
}
|
||||||
|
if cloud == nil {
|
||||||
|
klog.Fatalf("cloud provider is nil")
|
||||||
|
}
|
||||||
|
|
||||||
|
if !cloud.HasClusterID() {
|
||||||
|
if c.ComponentConfig.KubeCloudShared.AllowUntaggedCloud {
|
||||||
|
klog.Warning("detected a cluster without a ClusterID. A ClusterID will be required in the future. Please tag your cluster to avoid any future issues")
|
||||||
|
} else {
|
||||||
|
klog.Fatalf("no ClusterID found. A ClusterID is required for the cloud provider to function properly. This check can be bypassed by setting the allow-untagged-cloud option")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// setup /configz endpoint
|
||||||
|
if cz, err := configz.New(ConfigzName); err == nil {
|
||||||
|
cz.Set(c.ComponentConfig)
|
||||||
|
} else {
|
||||||
|
klog.Errorf("unable to register configz: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Setup any health checks we will want to use.
|
||||||
|
var checks []healthz.HealthChecker
|
||||||
|
var electionChecker *leaderelection.HealthzAdaptor
|
||||||
|
if c.ComponentConfig.Generic.LeaderElection.LeaderElect {
|
||||||
|
electionChecker = leaderelection.NewLeaderHealthzAdaptor(time.Second * 20)
|
||||||
|
checks = append(checks, electionChecker)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Start the controller manager HTTP server
|
||||||
|
if c.SecureServing != nil {
|
||||||
|
unsecuredMux := genericcontrollermanager.NewBaseHandler(&c.ComponentConfig.Generic.Debugging, checks...)
|
||||||
|
handler := genericcontrollermanager.BuildHandlerChain(unsecuredMux, &c.Authorization, &c.Authentication)
|
||||||
|
// TODO: handle stoppedCh returned by c.SecureServing.Serve
|
||||||
|
if _, err := c.SecureServing.Serve(handler, 0, stopCh); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if c.InsecureServing != nil {
|
||||||
|
unsecuredMux := genericcontrollermanager.NewBaseHandler(&c.ComponentConfig.Generic.Debugging, checks...)
|
||||||
|
insecureSuperuserAuthn := server.AuthenticationInfo{Authenticator: &server.InsecureSuperuser{}}
|
||||||
|
handler := genericcontrollermanager.BuildHandlerChain(unsecuredMux, nil, &insecureSuperuserAuthn)
|
||||||
|
if err := c.InsecureServing.Serve(handler, 0, stopCh); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
run := func(ctx context.Context) {
|
||||||
|
if err := startControllers(c, ctx.Done(), cloud, newControllerInitializers()); err != nil {
|
||||||
|
klog.Fatalf("error running controllers: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if !c.ComponentConfig.Generic.LeaderElection.LeaderElect {
|
||||||
|
run(context.TODO())
|
||||||
|
panic("unreachable")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Identity used to distinguish between multiple cloud controller manager instances
|
||||||
|
id, err := os.Hostname()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
// add a uniquifier so that two processes on the same host don't accidentally both become active
|
||||||
|
id = id + "_" + string(uuid.NewUUID())
|
||||||
|
|
||||||
|
// Lock required for leader election
|
||||||
|
rl, err := resourcelock.New(c.ComponentConfig.Generic.LeaderElection.ResourceLock,
|
||||||
|
c.ComponentConfig.Generic.LeaderElection.ResourceNamespace,
|
||||||
|
c.ComponentConfig.Generic.LeaderElection.ResourceName,
|
||||||
|
c.LeaderElectionClient.CoreV1(),
|
||||||
|
c.LeaderElectionClient.CoordinationV1(),
|
||||||
|
resourcelock.ResourceLockConfig{
|
||||||
|
Identity: id,
|
||||||
|
EventRecorder: c.EventRecorder,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
klog.Fatalf("error creating lock: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Try and become the leader and start cloud controller manager loops
|
||||||
|
leaderelection.RunOrDie(context.TODO(), leaderelection.LeaderElectionConfig{
|
||||||
|
Lock: rl,
|
||||||
|
LeaseDuration: c.ComponentConfig.Generic.LeaderElection.LeaseDuration.Duration,
|
||||||
|
RenewDeadline: c.ComponentConfig.Generic.LeaderElection.RenewDeadline.Duration,
|
||||||
|
RetryPeriod: c.ComponentConfig.Generic.LeaderElection.RetryPeriod.Duration,
|
||||||
|
Callbacks: leaderelection.LeaderCallbacks{
|
||||||
|
OnStartedLeading: run,
|
||||||
|
OnStoppedLeading: func() {
|
||||||
|
klog.Fatalf("leaderelection lost")
|
||||||
|
},
|
||||||
|
},
|
||||||
|
WatchDog: electionChecker,
|
||||||
|
Name: "cloud-controller-manager",
|
||||||
|
})
|
||||||
|
panic("unreachable")
|
||||||
|
}
|
||||||
|
|
||||||
|
// startControllers starts the cloud specific controller loops.
|
||||||
|
func startControllers(c *cloudcontrollerconfig.CompletedConfig, stopCh <-chan struct{}, cloud cloudprovider.Interface, controllers map[string]initFunc) error {
|
||||||
|
// Initialize the cloud provider with a reference to the clientBuilder
|
||||||
|
cloud.Initialize(c.ClientBuilder, stopCh)
|
||||||
|
// Set the informer on the user cloud object
|
||||||
|
if informerUserCloud, ok := cloud.(cloudprovider.InformerUser); ok {
|
||||||
|
informerUserCloud.SetInformers(c.SharedInformers)
|
||||||
|
}
|
||||||
|
|
||||||
|
for controllerName, initFn := range controllers {
|
||||||
|
if !genericcontrollermanager.IsControllerEnabled(controllerName, ControllersDisabledByDefault, c.ComponentConfig.Generic.Controllers) {
|
||||||
|
klog.Warningf("%q is disabled", controllerName)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
klog.V(1).Infof("Starting %q", controllerName)
|
||||||
|
_, started, err := initFn(c, cloud, stopCh)
|
||||||
|
if err != nil {
|
||||||
|
klog.Errorf("Error starting %q", controllerName)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !started {
|
||||||
|
klog.Warningf("Skipping %q", controllerName)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
klog.Infof("Started %q", controllerName)
|
||||||
|
|
||||||
|
time.Sleep(wait.Jitter(c.ComponentConfig.Generic.ControllerStartInterval.Duration, ControllerStartJitter))
|
||||||
|
}
|
||||||
|
|
||||||
|
// If apiserver is not running we should wait for some time and fail only then. This is particularly
|
||||||
|
// important when we start apiserver and controller manager at the same time.
|
||||||
|
if err := genericcontrollermanager.WaitForAPIServer(c.VersionedClient, 10*time.Second); err != nil {
|
||||||
|
klog.Fatalf("Failed to wait for apiserver being healthy: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
c.SharedInformers.Start(stopCh)
|
||||||
|
|
||||||
|
select {}
|
||||||
|
}
|
||||||
|
|
||||||
|
// initFunc is used to launch a particular controller. It may run additional "should I activate checks".
|
||||||
|
// Any error returned will cause the controller process to `Fatal`
|
||||||
|
// The bool indicates whether the controller was enabled.
|
||||||
|
type initFunc func(ctx *cloudcontrollerconfig.CompletedConfig, cloud cloudprovider.Interface, stop <-chan struct{}) (debuggingHandler http.Handler, enabled bool, err error)
|
||||||
|
|
||||||
|
// KnownControllers indicate the default controller we are known.
|
||||||
|
func KnownControllers() []string {
|
||||||
|
ret := sets.StringKeySet(newControllerInitializers())
|
||||||
|
return ret.List()
|
||||||
|
}
|
||||||
|
|
||||||
|
// ControllersDisabledByDefault is the controller disabled default when starting cloud-controller managers.
|
||||||
|
var ControllersDisabledByDefault = sets.NewString()
|
||||||
|
|
||||||
|
// newControllerInitializers is a private map of named controller groups (you can start more than one in an init func)
|
||||||
|
// paired to their initFunc. This allows for structured downstream composition and subdivision.
|
||||||
|
func newControllerInitializers() map[string]initFunc {
|
||||||
|
controllers := map[string]initFunc{}
|
||||||
|
controllers["cloud-node"] = startCloudNodeController
|
||||||
|
controllers["cloud-node-lifecycle"] = startCloudNodeLifecycleController
|
||||||
|
controllers["service"] = startServiceController
|
||||||
|
controllers["route"] = startRouteController
|
||||||
|
return controllers
|
||||||
|
}
|
157
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/core.go
generated
vendored
Normal file
157
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/core.go
generated
vendored
Normal file
@ -0,0 +1,157 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2018 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Package app implements a server that runs a set of active
|
||||||
|
// components. This includes node controllers, service and
|
||||||
|
// route controller, and so on.
|
||||||
|
//
|
||||||
|
package app
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"net"
|
||||||
|
"net/http"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
cloudprovider "k8s.io/cloud-provider"
|
||||||
|
"k8s.io/klog"
|
||||||
|
cloudcontrollerconfig "k8s.io/kubernetes/cmd/cloud-controller-manager/app/config"
|
||||||
|
cloudcontrollers "k8s.io/kubernetes/pkg/controller/cloud"
|
||||||
|
routecontroller "k8s.io/kubernetes/pkg/controller/route"
|
||||||
|
servicecontroller "k8s.io/kubernetes/pkg/controller/service"
|
||||||
|
netutils "k8s.io/utils/net"
|
||||||
|
|
||||||
|
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||||
|
kubefeatures "k8s.io/kubernetes/pkg/features"
|
||||||
|
)
|
||||||
|
|
||||||
|
func startCloudNodeController(ctx *cloudcontrollerconfig.CompletedConfig, cloud cloudprovider.Interface, stopCh <-chan struct{}) (http.Handler, bool, error) {
|
||||||
|
// Start the CloudNodeController
|
||||||
|
nodeController := cloudcontrollers.NewCloudNodeController(
|
||||||
|
ctx.SharedInformers.Core().V1().Nodes(),
|
||||||
|
// cloud node controller uses existing cluster role from node-controller
|
||||||
|
ctx.ClientBuilder.ClientOrDie("node-controller"),
|
||||||
|
cloud,
|
||||||
|
ctx.ComponentConfig.NodeStatusUpdateFrequency.Duration)
|
||||||
|
|
||||||
|
go nodeController.Run(stopCh)
|
||||||
|
|
||||||
|
return nil, true, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func startCloudNodeLifecycleController(ctx *cloudcontrollerconfig.CompletedConfig, cloud cloudprovider.Interface, stopCh <-chan struct{}) (http.Handler, bool, error) {
|
||||||
|
// Start the cloudNodeLifecycleController
|
||||||
|
cloudNodeLifecycleController, err := cloudcontrollers.NewCloudNodeLifecycleController(
|
||||||
|
ctx.SharedInformers.Core().V1().Nodes(),
|
||||||
|
// cloud node lifecycle controller uses existing cluster role from node-controller
|
||||||
|
ctx.ClientBuilder.ClientOrDie("node-controller"),
|
||||||
|
cloud,
|
||||||
|
ctx.ComponentConfig.KubeCloudShared.NodeMonitorPeriod.Duration,
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
klog.Warningf("failed to start cloud node lifecycle controller: %s", err)
|
||||||
|
return nil, false, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
go cloudNodeLifecycleController.Run(stopCh)
|
||||||
|
|
||||||
|
return nil, true, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func startServiceController(ctx *cloudcontrollerconfig.CompletedConfig, cloud cloudprovider.Interface, stopCh <-chan struct{}) (http.Handler, bool, error) {
|
||||||
|
// Start the service controller
|
||||||
|
serviceController, err := servicecontroller.New(
|
||||||
|
cloud,
|
||||||
|
ctx.ClientBuilder.ClientOrDie("service-controller"),
|
||||||
|
ctx.SharedInformers.Core().V1().Services(),
|
||||||
|
ctx.SharedInformers.Core().V1().Nodes(),
|
||||||
|
ctx.ComponentConfig.KubeCloudShared.ClusterName,
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
// This error shouldn't fail. It lives like this as a legacy.
|
||||||
|
klog.Errorf("Failed to start service controller: %v", err)
|
||||||
|
return nil, false, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
go serviceController.Run(stopCh, int(ctx.ComponentConfig.ServiceController.ConcurrentServiceSyncs))
|
||||||
|
|
||||||
|
return nil, true, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func startRouteController(ctx *cloudcontrollerconfig.CompletedConfig, cloud cloudprovider.Interface, stopCh <-chan struct{}) (http.Handler, bool, error) {
|
||||||
|
if !ctx.ComponentConfig.KubeCloudShared.AllocateNodeCIDRs || !ctx.ComponentConfig.KubeCloudShared.ConfigureCloudRoutes {
|
||||||
|
klog.Infof("Will not configure cloud provider routes for allocate-node-cidrs: %v, configure-cloud-routes: %v.", ctx.ComponentConfig.KubeCloudShared.AllocateNodeCIDRs, ctx.ComponentConfig.KubeCloudShared.ConfigureCloudRoutes)
|
||||||
|
return nil, false, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// If CIDRs should be allocated for pods and set on the CloudProvider, then start the route controller
|
||||||
|
routes, ok := cloud.Routes()
|
||||||
|
if !ok {
|
||||||
|
klog.Warning("configure-cloud-routes is set, but cloud provider does not support routes. Will not configure cloud provider routes.")
|
||||||
|
return nil, false, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// failure: bad cidrs in config
|
||||||
|
clusterCIDRs, dualStack, err := processCIDRs(ctx.ComponentConfig.KubeCloudShared.ClusterCIDR)
|
||||||
|
if err != nil {
|
||||||
|
return nil, false, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// failure: more than one cidr and dual stack is not enabled
|
||||||
|
if len(clusterCIDRs) > 1 && !utilfeature.DefaultFeatureGate.Enabled(kubefeatures.IPv6DualStack) {
|
||||||
|
return nil, false, fmt.Errorf("len of ClusterCIDRs==%v and dualstack feature is not enabled", len(clusterCIDRs))
|
||||||
|
}
|
||||||
|
|
||||||
|
// failure: more than one cidr but they are not configured as dual stack
|
||||||
|
if len(clusterCIDRs) > 1 && !dualStack {
|
||||||
|
return nil, false, fmt.Errorf("len of ClusterCIDRs==%v and they are not configured as dual stack (at least one from each IPFamily", len(clusterCIDRs))
|
||||||
|
}
|
||||||
|
|
||||||
|
// failure: more than cidrs is not allowed even with dual stack
|
||||||
|
if len(clusterCIDRs) > 2 {
|
||||||
|
return nil, false, fmt.Errorf("length of clusterCIDRs is:%v more than max allowed of 2", len(clusterCIDRs))
|
||||||
|
}
|
||||||
|
|
||||||
|
routeController := routecontroller.New(
|
||||||
|
routes,
|
||||||
|
ctx.ClientBuilder.ClientOrDie("route-controller"),
|
||||||
|
ctx.SharedInformers.Core().V1().Nodes(),
|
||||||
|
ctx.ComponentConfig.KubeCloudShared.ClusterName,
|
||||||
|
clusterCIDRs,
|
||||||
|
)
|
||||||
|
go routeController.Run(stopCh, ctx.ComponentConfig.KubeCloudShared.RouteReconciliationPeriod.Duration)
|
||||||
|
|
||||||
|
return nil, true, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// processCIDRs is a helper function that works on a comma separated cidrs and returns
|
||||||
|
// a list of typed cidrs
|
||||||
|
// a flag if cidrs represents a dual stack
|
||||||
|
// error if failed to parse any of the cidrs
|
||||||
|
func processCIDRs(cidrsList string) ([]*net.IPNet, bool, error) {
|
||||||
|
cidrsSplit := strings.Split(strings.TrimSpace(cidrsList), ",")
|
||||||
|
|
||||||
|
cidrs, err := netutils.ParseCIDRs(cidrsSplit)
|
||||||
|
if err != nil {
|
||||||
|
return nil, false, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// if cidrs has an error then the previous call will fail
|
||||||
|
// safe to ignore error checking on next call
|
||||||
|
dualstack, _ := netutils.IsDualStackCIDRs(cidrs)
|
||||||
|
|
||||||
|
return cidrs, dualstack, nil
|
||||||
|
}
|
66
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/options/BUILD
generated
vendored
Normal file
66
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/options/BUILD
generated
vendored
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
package(default_visibility = ["//visibility:public"])
|
||||||
|
|
||||||
|
load(
|
||||||
|
"@io_bazel_rules_go//go:def.bzl",
|
||||||
|
"go_library",
|
||||||
|
"go_test",
|
||||||
|
)
|
||||||
|
|
||||||
|
go_library(
|
||||||
|
name = "go_default_library",
|
||||||
|
srcs = ["options.go"],
|
||||||
|
importpath = "k8s.io/kubernetes/cmd/cloud-controller-manager/app/options",
|
||||||
|
deps = [
|
||||||
|
"//cmd/cloud-controller-manager/app/apis/config:go_default_library",
|
||||||
|
"//cmd/cloud-controller-manager/app/apis/config/scheme:go_default_library",
|
||||||
|
"//cmd/cloud-controller-manager/app/apis/config/v1alpha1:go_default_library",
|
||||||
|
"//cmd/cloud-controller-manager/app/config:go_default_library",
|
||||||
|
"//cmd/controller-manager/app/options:go_default_library",
|
||||||
|
"//pkg/api/legacyscheme:go_default_library",
|
||||||
|
"//pkg/controller:go_default_library",
|
||||||
|
"//pkg/features:go_default_library",
|
||||||
|
"//pkg/master/ports:go_default_library",
|
||||||
|
"//staging/src/k8s.io/api/core/v1:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/errors:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apiserver/pkg/server/options:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
|
||||||
|
"//staging/src/k8s.io/client-go/informers:go_default_library",
|
||||||
|
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
|
||||||
|
"//staging/src/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library",
|
||||||
|
"//staging/src/k8s.io/client-go/rest:go_default_library",
|
||||||
|
"//staging/src/k8s.io/client-go/tools/clientcmd:go_default_library",
|
||||||
|
"//staging/src/k8s.io/client-go/tools/record:go_default_library",
|
||||||
|
"//staging/src/k8s.io/component-base/cli/flag:go_default_library",
|
||||||
|
"//vendor/k8s.io/klog:go_default_library",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "package-srcs",
|
||||||
|
srcs = glob(["**"]),
|
||||||
|
tags = ["automanaged"],
|
||||||
|
visibility = ["//visibility:private"],
|
||||||
|
)
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "all-srcs",
|
||||||
|
srcs = [":package-srcs"],
|
||||||
|
tags = ["automanaged"],
|
||||||
|
)
|
||||||
|
|
||||||
|
go_test(
|
||||||
|
name = "go_default_test",
|
||||||
|
srcs = ["options_test.go"],
|
||||||
|
embed = [":go_default_library"],
|
||||||
|
deps = [
|
||||||
|
"//cmd/controller-manager/app/options:go_default_library",
|
||||||
|
"//pkg/controller/apis/config:go_default_library",
|
||||||
|
"//pkg/controller/service/config:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/diff:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apiserver/pkg/server/options:go_default_library",
|
||||||
|
"//staging/src/k8s.io/component-base/config:go_default_library",
|
||||||
|
"//vendor/github.com/spf13/pflag:go_default_library",
|
||||||
|
],
|
||||||
|
)
|
273
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/options/options.go
generated
vendored
Normal file
273
vendor/k8s.io/kubernetes/cmd/cloud-controller-manager/app/options/options.go
generated
vendored
Normal file
@ -0,0 +1,273 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2016 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package options
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"math/rand"
|
||||||
|
"net"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
v1 "k8s.io/api/core/v1"
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
utilerrors "k8s.io/apimachinery/pkg/util/errors"
|
||||||
|
apiserveroptions "k8s.io/apiserver/pkg/server/options"
|
||||||
|
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||||
|
"k8s.io/client-go/informers"
|
||||||
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
|
v1core "k8s.io/client-go/kubernetes/typed/core/v1"
|
||||||
|
restclient "k8s.io/client-go/rest"
|
||||||
|
"k8s.io/client-go/tools/clientcmd"
|
||||||
|
"k8s.io/client-go/tools/record"
|
||||||
|
cliflag "k8s.io/component-base/cli/flag"
|
||||||
|
"k8s.io/klog"
|
||||||
|
ccmconfig "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config"
|
||||||
|
ccmconfigscheme "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/scheme"
|
||||||
|
ccmconfigv1alpha1 "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1"
|
||||||
|
cloudcontrollerconfig "k8s.io/kubernetes/cmd/cloud-controller-manager/app/config"
|
||||||
|
cmoptions "k8s.io/kubernetes/cmd/controller-manager/app/options"
|
||||||
|
"k8s.io/kubernetes/pkg/api/legacyscheme"
|
||||||
|
"k8s.io/kubernetes/pkg/controller"
|
||||||
|
"k8s.io/kubernetes/pkg/master/ports"
|
||||||
|
|
||||||
|
// add the kubernetes feature gates
|
||||||
|
_ "k8s.io/kubernetes/pkg/features"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
// CloudControllerManagerUserAgent is the userAgent name when starting cloud-controller managers.
|
||||||
|
CloudControllerManagerUserAgent = "cloud-controller-manager"
|
||||||
|
// DefaultInsecureCloudControllerManagerPort is the default insecure cloud-controller manager port.
|
||||||
|
DefaultInsecureCloudControllerManagerPort = 0
|
||||||
|
)
|
||||||
|
|
||||||
|
// CloudControllerManagerOptions is the main context object for the controller manager.
|
||||||
|
type CloudControllerManagerOptions struct {
|
||||||
|
Generic *cmoptions.GenericControllerManagerConfigurationOptions
|
||||||
|
KubeCloudShared *cmoptions.KubeCloudSharedOptions
|
||||||
|
ServiceController *cmoptions.ServiceControllerOptions
|
||||||
|
|
||||||
|
SecureServing *apiserveroptions.SecureServingOptionsWithLoopback
|
||||||
|
// TODO: remove insecure serving mode
|
||||||
|
InsecureServing *apiserveroptions.DeprecatedInsecureServingOptionsWithLoopback
|
||||||
|
Authentication *apiserveroptions.DelegatingAuthenticationOptions
|
||||||
|
Authorization *apiserveroptions.DelegatingAuthorizationOptions
|
||||||
|
|
||||||
|
Master string
|
||||||
|
Kubeconfig string
|
||||||
|
|
||||||
|
// NodeStatusUpdateFrequency is the frequency at which the controller updates nodes' status
|
||||||
|
NodeStatusUpdateFrequency metav1.Duration
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewCloudControllerManagerOptions creates a new ExternalCMServer with a default config.
|
||||||
|
func NewCloudControllerManagerOptions() (*CloudControllerManagerOptions, error) {
|
||||||
|
componentConfig, err := NewDefaultComponentConfig(DefaultInsecureCloudControllerManagerPort)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
s := CloudControllerManagerOptions{
|
||||||
|
Generic: cmoptions.NewGenericControllerManagerConfigurationOptions(&componentConfig.Generic),
|
||||||
|
KubeCloudShared: cmoptions.NewKubeCloudSharedOptions(&componentConfig.KubeCloudShared),
|
||||||
|
ServiceController: &cmoptions.ServiceControllerOptions{
|
||||||
|
ServiceControllerConfiguration: &componentConfig.ServiceController,
|
||||||
|
},
|
||||||
|
SecureServing: apiserveroptions.NewSecureServingOptions().WithLoopback(),
|
||||||
|
InsecureServing: (&apiserveroptions.DeprecatedInsecureServingOptions{
|
||||||
|
BindAddress: net.ParseIP(componentConfig.Generic.Address),
|
||||||
|
BindPort: int(componentConfig.Generic.Port),
|
||||||
|
BindNetwork: "tcp",
|
||||||
|
}).WithLoopback(),
|
||||||
|
Authentication: apiserveroptions.NewDelegatingAuthenticationOptions(),
|
||||||
|
Authorization: apiserveroptions.NewDelegatingAuthorizationOptions(),
|
||||||
|
NodeStatusUpdateFrequency: componentConfig.NodeStatusUpdateFrequency,
|
||||||
|
}
|
||||||
|
|
||||||
|
s.Authentication.RemoteKubeConfigFileOptional = true
|
||||||
|
s.Authorization.RemoteKubeConfigFileOptional = true
|
||||||
|
s.Authorization.AlwaysAllowPaths = []string{"/healthz"}
|
||||||
|
|
||||||
|
// Set the PairName but leave certificate directory blank to generate in-memory by default
|
||||||
|
s.SecureServing.ServerCert.CertDirectory = ""
|
||||||
|
s.SecureServing.ServerCert.PairName = "cloud-controller-manager"
|
||||||
|
s.SecureServing.BindPort = ports.CloudControllerManagerPort
|
||||||
|
|
||||||
|
s.Generic.LeaderElection.ResourceName = "cloud-controller-manager"
|
||||||
|
s.Generic.LeaderElection.ResourceNamespace = "kube-system"
|
||||||
|
|
||||||
|
return &s, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewDefaultComponentConfig returns cloud-controller manager configuration object.
|
||||||
|
func NewDefaultComponentConfig(insecurePort int32) (*ccmconfig.CloudControllerManagerConfiguration, error) {
|
||||||
|
versioned := &ccmconfigv1alpha1.CloudControllerManagerConfiguration{}
|
||||||
|
ccmconfigscheme.Scheme.Default(versioned)
|
||||||
|
|
||||||
|
internal := &ccmconfig.CloudControllerManagerConfiguration{}
|
||||||
|
if err := ccmconfigscheme.Scheme.Convert(versioned, internal, nil); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
internal.Generic.Port = insecurePort
|
||||||
|
return internal, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Flags returns flags for a specific APIServer by section name
|
||||||
|
func (o *CloudControllerManagerOptions) Flags(allControllers, disabledByDefaultControllers []string) cliflag.NamedFlagSets {
|
||||||
|
fss := cliflag.NamedFlagSets{}
|
||||||
|
o.Generic.AddFlags(&fss, allControllers, disabledByDefaultControllers)
|
||||||
|
o.KubeCloudShared.AddFlags(fss.FlagSet("generic"))
|
||||||
|
o.ServiceController.AddFlags(fss.FlagSet("service controller"))
|
||||||
|
|
||||||
|
o.SecureServing.AddFlags(fss.FlagSet("secure serving"))
|
||||||
|
o.InsecureServing.AddUnqualifiedFlags(fss.FlagSet("insecure serving"))
|
||||||
|
o.Authentication.AddFlags(fss.FlagSet("authentication"))
|
||||||
|
o.Authorization.AddFlags(fss.FlagSet("authorization"))
|
||||||
|
|
||||||
|
fs := fss.FlagSet("misc")
|
||||||
|
fs.StringVar(&o.Master, "master", o.Master, "The address of the Kubernetes API server (overrides any value in kubeconfig).")
|
||||||
|
fs.StringVar(&o.Kubeconfig, "kubeconfig", o.Kubeconfig, "Path to kubeconfig file with authorization and master location information.")
|
||||||
|
fs.DurationVar(&o.NodeStatusUpdateFrequency.Duration, "node-status-update-frequency", o.NodeStatusUpdateFrequency.Duration, "Specifies how often the controller updates nodes' status.")
|
||||||
|
|
||||||
|
utilfeature.DefaultMutableFeatureGate.AddFlag(fss.FlagSet("generic"))
|
||||||
|
|
||||||
|
return fss
|
||||||
|
}
|
||||||
|
|
||||||
|
// ApplyTo fills up cloud controller manager config with options.
|
||||||
|
func (o *CloudControllerManagerOptions) ApplyTo(c *cloudcontrollerconfig.Config, userAgent string) error {
|
||||||
|
var err error
|
||||||
|
if err = o.Generic.ApplyTo(&c.ComponentConfig.Generic); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err = o.KubeCloudShared.ApplyTo(&c.ComponentConfig.KubeCloudShared); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err = o.ServiceController.ApplyTo(&c.ComponentConfig.ServiceController); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err = o.InsecureServing.ApplyTo(&c.InsecureServing, &c.LoopbackClientConfig); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err = o.SecureServing.ApplyTo(&c.SecureServing, &c.LoopbackClientConfig); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if o.SecureServing.BindPort != 0 || o.SecureServing.Listener != nil {
|
||||||
|
if err = o.Authentication.ApplyTo(&c.Authentication, c.SecureServing, nil); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err = o.Authorization.ApplyTo(&c.Authorization); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
c.Kubeconfig, err = clientcmd.BuildConfigFromFlags(o.Master, o.Kubeconfig)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
c.Kubeconfig.DisableCompression = true
|
||||||
|
c.Kubeconfig.ContentConfig.ContentType = o.Generic.ClientConnection.ContentType
|
||||||
|
c.Kubeconfig.QPS = o.Generic.ClientConnection.QPS
|
||||||
|
c.Kubeconfig.Burst = int(o.Generic.ClientConnection.Burst)
|
||||||
|
|
||||||
|
c.Client, err = clientset.NewForConfig(restclient.AddUserAgent(c.Kubeconfig, userAgent))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
c.LeaderElectionClient = clientset.NewForConfigOrDie(restclient.AddUserAgent(c.Kubeconfig, "leader-election"))
|
||||||
|
|
||||||
|
c.EventRecorder = createRecorder(c.Client, userAgent)
|
||||||
|
|
||||||
|
rootClientBuilder := controller.SimpleControllerClientBuilder{
|
||||||
|
ClientConfig: c.Kubeconfig,
|
||||||
|
}
|
||||||
|
if c.ComponentConfig.KubeCloudShared.UseServiceAccountCredentials {
|
||||||
|
c.ClientBuilder = controller.SAControllerClientBuilder{
|
||||||
|
ClientConfig: restclient.AnonymousClientConfig(c.Kubeconfig),
|
||||||
|
CoreClient: c.Client.CoreV1(),
|
||||||
|
AuthenticationClient: c.Client.AuthenticationV1(),
|
||||||
|
Namespace: metav1.NamespaceSystem,
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
c.ClientBuilder = rootClientBuilder
|
||||||
|
}
|
||||||
|
c.VersionedClient = rootClientBuilder.ClientOrDie("shared-informers")
|
||||||
|
c.SharedInformers = informers.NewSharedInformerFactory(c.VersionedClient, resyncPeriod(c)())
|
||||||
|
|
||||||
|
// sync back to component config
|
||||||
|
// TODO: find more elegant way than syncing back the values.
|
||||||
|
c.ComponentConfig.Generic.Port = int32(o.InsecureServing.BindPort)
|
||||||
|
c.ComponentConfig.Generic.Address = o.InsecureServing.BindAddress.String()
|
||||||
|
|
||||||
|
c.ComponentConfig.NodeStatusUpdateFrequency = o.NodeStatusUpdateFrequency
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validate is used to validate config before launching the cloud controller manager
|
||||||
|
func (o *CloudControllerManagerOptions) Validate(allControllers, disabledByDefaultControllers []string) error {
|
||||||
|
errors := []error{}
|
||||||
|
|
||||||
|
errors = append(errors, o.Generic.Validate(allControllers, disabledByDefaultControllers)...)
|
||||||
|
errors = append(errors, o.KubeCloudShared.Validate()...)
|
||||||
|
errors = append(errors, o.ServiceController.Validate()...)
|
||||||
|
errors = append(errors, o.SecureServing.Validate()...)
|
||||||
|
errors = append(errors, o.InsecureServing.Validate()...)
|
||||||
|
errors = append(errors, o.Authentication.Validate()...)
|
||||||
|
errors = append(errors, o.Authorization.Validate()...)
|
||||||
|
|
||||||
|
if len(o.KubeCloudShared.CloudProvider.Name) == 0 {
|
||||||
|
errors = append(errors, fmt.Errorf("--cloud-provider cannot be empty"))
|
||||||
|
}
|
||||||
|
|
||||||
|
return utilerrors.NewAggregate(errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
// resyncPeriod computes the time interval a shared informer waits before resyncing with the api server
|
||||||
|
func resyncPeriod(c *cloudcontrollerconfig.Config) func() time.Duration {
|
||||||
|
return func() time.Duration {
|
||||||
|
factor := rand.Float64() + 1
|
||||||
|
return time.Duration(float64(c.ComponentConfig.Generic.MinResyncPeriod.Nanoseconds()) * factor)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Config return a cloud controller manager config objective
|
||||||
|
func (o *CloudControllerManagerOptions) Config(allControllers, disabledByDefaultControllers []string) (*cloudcontrollerconfig.Config, error) {
|
||||||
|
if err := o.Validate(allControllers, disabledByDefaultControllers); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := o.SecureServing.MaybeDefaultWithSelfSignedCerts("localhost", nil, []net.IP{net.ParseIP("127.0.0.1")}); err != nil {
|
||||||
|
return nil, fmt.Errorf("error creating self-signed certificates: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
c := &cloudcontrollerconfig.Config{}
|
||||||
|
if err := o.ApplyTo(c, CloudControllerManagerUserAgent); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return c, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func createRecorder(kubeClient clientset.Interface, userAgent string) record.EventRecorder {
|
||||||
|
eventBroadcaster := record.NewBroadcaster()
|
||||||
|
eventBroadcaster.StartLogging(klog.Infof)
|
||||||
|
eventBroadcaster.StartRecordingToSink(&v1core.EventSinkImpl{Interface: kubeClient.CoreV1().Events("")})
|
||||||
|
// TODO: remove dependence on the legacyscheme
|
||||||
|
return eventBroadcaster.NewRecorder(legacyscheme.Scheme, v1.EventSource{Component: userAgent})
|
||||||
|
}
|
76
vendor/modules.txt
vendored
76
vendor/modules.txt
vendored
@ -757,6 +757,7 @@ github.com/rancher/kine/pkg/broadcaster
|
|||||||
# github.com/rancher/remotedialer v0.2.0
|
# github.com/rancher/remotedialer v0.2.0
|
||||||
github.com/rancher/remotedialer
|
github.com/rancher/remotedialer
|
||||||
# github.com/rancher/wrangler v0.2.0
|
# github.com/rancher/wrangler v0.2.0
|
||||||
|
github.com/rancher/wrangler/pkg/start
|
||||||
github.com/rancher/wrangler/pkg/signals
|
github.com/rancher/wrangler/pkg/signals
|
||||||
github.com/rancher/wrangler/pkg/controller-gen
|
github.com/rancher/wrangler/pkg/controller-gen
|
||||||
github.com/rancher/wrangler/pkg/controller-gen/args
|
github.com/rancher/wrangler/pkg/controller-gen/args
|
||||||
@ -770,7 +771,6 @@ github.com/rancher/wrangler/pkg/generic
|
|||||||
github.com/rancher/wrangler/pkg/schemes
|
github.com/rancher/wrangler/pkg/schemes
|
||||||
github.com/rancher/wrangler/pkg/crd
|
github.com/rancher/wrangler/pkg/crd
|
||||||
github.com/rancher/wrangler/pkg/leader
|
github.com/rancher/wrangler/pkg/leader
|
||||||
github.com/rancher/wrangler/pkg/start
|
|
||||||
github.com/rancher/wrangler/pkg/condition
|
github.com/rancher/wrangler/pkg/condition
|
||||||
github.com/rancher/wrangler/pkg/relatedresource
|
github.com/rancher/wrangler/pkg/relatedresource
|
||||||
github.com/rancher/wrangler/pkg/slice
|
github.com/rancher/wrangler/pkg/slice
|
||||||
@ -779,14 +779,14 @@ github.com/rancher/wrangler/pkg/apply/injectors
|
|||||||
github.com/rancher/wrangler/pkg/gvk
|
github.com/rancher/wrangler/pkg/gvk
|
||||||
github.com/rancher/wrangler/pkg/name
|
github.com/rancher/wrangler/pkg/name
|
||||||
# github.com/rancher/wrangler-api v0.2.0
|
# github.com/rancher/wrangler-api v0.2.0
|
||||||
|
github.com/rancher/wrangler-api/pkg/generated/controllers/core
|
||||||
github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1
|
github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1
|
||||||
|
github.com/rancher/wrangler-api/pkg/generated/controllers/rbac
|
||||||
github.com/rancher/wrangler-api/pkg/generated/controllers/apps
|
github.com/rancher/wrangler-api/pkg/generated/controllers/apps
|
||||||
github.com/rancher/wrangler-api/pkg/generated/controllers/batch
|
github.com/rancher/wrangler-api/pkg/generated/controllers/batch
|
||||||
github.com/rancher/wrangler-api/pkg/generated/controllers/core
|
|
||||||
github.com/rancher/wrangler-api/pkg/generated/controllers/rbac
|
|
||||||
github.com/rancher/wrangler-api/pkg/generated/controllers/apps/v1
|
github.com/rancher/wrangler-api/pkg/generated/controllers/apps/v1
|
||||||
github.com/rancher/wrangler-api/pkg/generated/controllers/batch/v1
|
|
||||||
github.com/rancher/wrangler-api/pkg/generated/controllers/rbac/v1
|
github.com/rancher/wrangler-api/pkg/generated/controllers/rbac/v1
|
||||||
|
github.com/rancher/wrangler-api/pkg/generated/controllers/batch/v1
|
||||||
# github.com/robfig/cron v1.1.0
|
# github.com/robfig/cron v1.1.0
|
||||||
github.com/robfig/cron
|
github.com/robfig/cron
|
||||||
# github.com/rootless-containers/rootlesskit v0.6.0
|
# github.com/rootless-containers/rootlesskit v0.6.0
|
||||||
@ -1184,23 +1184,23 @@ k8s.io/apimachinery/pkg/fields
|
|||||||
k8s.io/apimachinery/pkg/watch
|
k8s.io/apimachinery/pkg/watch
|
||||||
k8s.io/apimachinery/pkg/runtime
|
k8s.io/apimachinery/pkg/runtime
|
||||||
k8s.io/apimachinery/pkg/runtime/schema
|
k8s.io/apimachinery/pkg/runtime/schema
|
||||||
|
k8s.io/apimachinery/pkg/types
|
||||||
k8s.io/apimachinery/pkg/api/errors
|
k8s.io/apimachinery/pkg/api/errors
|
||||||
k8s.io/apimachinery/pkg/apis/meta/v1/unstructured
|
k8s.io/apimachinery/pkg/apis/meta/v1/unstructured
|
||||||
k8s.io/apimachinery/pkg/util/yaml
|
k8s.io/apimachinery/pkg/util/yaml
|
||||||
k8s.io/apimachinery/pkg/runtime/serializer
|
k8s.io/apimachinery/pkg/runtime/serializer
|
||||||
k8s.io/apimachinery/pkg/util/runtime
|
k8s.io/apimachinery/pkg/util/runtime
|
||||||
k8s.io/apimachinery/pkg/types
|
|
||||||
k8s.io/apimachinery/pkg/labels
|
k8s.io/apimachinery/pkg/labels
|
||||||
k8s.io/apimachinery/pkg/api/equality
|
k8s.io/apimachinery/pkg/api/equality
|
||||||
k8s.io/apimachinery/pkg/util/intstr
|
k8s.io/apimachinery/pkg/util/intstr
|
||||||
|
k8s.io/apimachinery/pkg/util/errors
|
||||||
|
k8s.io/apimachinery/pkg/util/validation
|
||||||
k8s.io/apimachinery/pkg/util/sets
|
k8s.io/apimachinery/pkg/util/sets
|
||||||
k8s.io/apimachinery/pkg/util/wait
|
k8s.io/apimachinery/pkg/util/wait
|
||||||
k8s.io/apimachinery/pkg/util/strategicpatch
|
k8s.io/apimachinery/pkg/util/strategicpatch
|
||||||
k8s.io/apimachinery/pkg/api/resource
|
k8s.io/apimachinery/pkg/api/resource
|
||||||
k8s.io/apimachinery/pkg/conversion
|
k8s.io/apimachinery/pkg/conversion
|
||||||
k8s.io/apimachinery/pkg/selection
|
k8s.io/apimachinery/pkg/selection
|
||||||
k8s.io/apimachinery/pkg/util/errors
|
|
||||||
k8s.io/apimachinery/pkg/util/validation
|
|
||||||
k8s.io/apimachinery/pkg/conversion/queryparams
|
k8s.io/apimachinery/pkg/conversion/queryparams
|
||||||
k8s.io/apimachinery/pkg/util/naming
|
k8s.io/apimachinery/pkg/util/naming
|
||||||
k8s.io/apimachinery/pkg/api/validation/path
|
k8s.io/apimachinery/pkg/api/validation/path
|
||||||
@ -1255,13 +1255,13 @@ k8s.io/apiserver/pkg/authorization/authorizer
|
|||||||
k8s.io/apiserver/pkg/authorization/authorizerfactory
|
k8s.io/apiserver/pkg/authorization/authorizerfactory
|
||||||
k8s.io/apiserver/pkg/authentication/user
|
k8s.io/apiserver/pkg/authentication/user
|
||||||
k8s.io/apiserver/pkg/apis/audit
|
k8s.io/apiserver/pkg/apis/audit
|
||||||
|
k8s.io/apiserver/pkg/util/term
|
||||||
k8s.io/apiserver/pkg/admission
|
k8s.io/apiserver/pkg/admission
|
||||||
k8s.io/apiserver/pkg/endpoints/openapi
|
k8s.io/apiserver/pkg/endpoints/openapi
|
||||||
k8s.io/apiserver/pkg/features
|
k8s.io/apiserver/pkg/features
|
||||||
k8s.io/apiserver/pkg/server/filters
|
k8s.io/apiserver/pkg/server/filters
|
||||||
k8s.io/apiserver/pkg/server/options
|
k8s.io/apiserver/pkg/server/options
|
||||||
k8s.io/apiserver/pkg/storage/etcd3/preflight
|
k8s.io/apiserver/pkg/storage/etcd3/preflight
|
||||||
k8s.io/apiserver/pkg/util/term
|
|
||||||
k8s.io/apiserver/pkg/util/webhook
|
k8s.io/apiserver/pkg/util/webhook
|
||||||
k8s.io/apiserver/pkg/endpoints/filters
|
k8s.io/apiserver/pkg/endpoints/filters
|
||||||
k8s.io/apiserver/pkg/admission/plugin/namespace/lifecycle
|
k8s.io/apiserver/pkg/admission/plugin/namespace/lifecycle
|
||||||
@ -1365,9 +1365,9 @@ k8s.io/cli-runtime/pkg/kustomize/k8sdeps/transformer/hash
|
|||||||
k8s.io/cli-runtime/pkg/kustomize/k8sdeps/transformer/patch
|
k8s.io/cli-runtime/pkg/kustomize/k8sdeps/transformer/patch
|
||||||
k8s.io/cli-runtime/pkg/kustomize/k8sdeps/kv
|
k8s.io/cli-runtime/pkg/kustomize/k8sdeps/kv
|
||||||
# k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible => github.com/rancher/kubernetes/staging/src/k8s.io/client-go v1.16.0-k3s.1
|
# k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible => github.com/rancher/kubernetes/staging/src/k8s.io/client-go v1.16.0-k3s.1
|
||||||
|
k8s.io/client-go/tools/clientcmd
|
||||||
k8s.io/client-go/util/cert
|
k8s.io/client-go/util/cert
|
||||||
k8s.io/client-go/kubernetes
|
k8s.io/client-go/kubernetes
|
||||||
k8s.io/client-go/tools/clientcmd
|
|
||||||
k8s.io/client-go/transport
|
k8s.io/client-go/transport
|
||||||
k8s.io/client-go/tools/clientcmd/api
|
k8s.io/client-go/tools/clientcmd/api
|
||||||
k8s.io/client-go/discovery
|
k8s.io/client-go/discovery
|
||||||
@ -1381,8 +1381,15 @@ k8s.io/client-go/kubernetes/typed/core/v1
|
|||||||
k8s.io/client-go/tools/portforward
|
k8s.io/client-go/tools/portforward
|
||||||
k8s.io/client-go/tools/remotecommand
|
k8s.io/client-go/tools/remotecommand
|
||||||
k8s.io/client-go/transport/spdy
|
k8s.io/client-go/transport/spdy
|
||||||
k8s.io/client-go/util/keyutil
|
k8s.io/client-go/informers
|
||||||
|
k8s.io/client-go/informers/core
|
||||||
|
k8s.io/client-go/kubernetes/scheme
|
||||||
|
k8s.io/client-go/informers/core/v1
|
||||||
k8s.io/client-go/listers/core/v1
|
k8s.io/client-go/listers/core/v1
|
||||||
|
k8s.io/client-go/tools/auth
|
||||||
|
k8s.io/client-go/tools/clientcmd/api/latest
|
||||||
|
k8s.io/client-go/util/homedir
|
||||||
|
k8s.io/client-go/util/keyutil
|
||||||
k8s.io/client-go/kubernetes/typed/admissionregistration/v1
|
k8s.io/client-go/kubernetes/typed/admissionregistration/v1
|
||||||
k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1
|
k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1
|
||||||
k8s.io/client-go/kubernetes/typed/apps/v1beta1
|
k8s.io/client-go/kubernetes/typed/apps/v1beta1
|
||||||
@ -1419,14 +1426,13 @@ k8s.io/client-go/kubernetes/typed/settings/v1alpha1
|
|||||||
k8s.io/client-go/kubernetes/typed/storage/v1
|
k8s.io/client-go/kubernetes/typed/storage/v1
|
||||||
k8s.io/client-go/kubernetes/typed/storage/v1alpha1
|
k8s.io/client-go/kubernetes/typed/storage/v1alpha1
|
||||||
k8s.io/client-go/kubernetes/typed/storage/v1beta1
|
k8s.io/client-go/kubernetes/typed/storage/v1beta1
|
||||||
k8s.io/client-go/tools/auth
|
|
||||||
k8s.io/client-go/tools/clientcmd/api/latest
|
|
||||||
k8s.io/client-go/util/homedir
|
|
||||||
k8s.io/client-go/informers
|
|
||||||
k8s.io/client-go/tools/record
|
k8s.io/client-go/tools/record
|
||||||
k8s.io/client-go/util/certificate
|
k8s.io/client-go/util/certificate
|
||||||
k8s.io/client-go/util/connrotation
|
k8s.io/client-go/util/connrotation
|
||||||
k8s.io/client-go/tools/metrics
|
k8s.io/client-go/tools/metrics
|
||||||
|
k8s.io/client-go/informers/rbac
|
||||||
|
k8s.io/client-go/tools/leaderelection
|
||||||
|
k8s.io/client-go/tools/leaderelection/resourcelock
|
||||||
k8s.io/client-go/discovery/cached
|
k8s.io/client-go/discovery/cached
|
||||||
k8s.io/client-go/discovery/cached/memory
|
k8s.io/client-go/discovery/cached/memory
|
||||||
k8s.io/client-go/dynamic
|
k8s.io/client-go/dynamic
|
||||||
@ -1434,25 +1440,18 @@ k8s.io/client-go/metadata
|
|||||||
k8s.io/client-go/metadata/metadatainformer
|
k8s.io/client-go/metadata/metadatainformer
|
||||||
k8s.io/client-go/restmapper
|
k8s.io/client-go/restmapper
|
||||||
k8s.io/client-go/scale
|
k8s.io/client-go/scale
|
||||||
k8s.io/client-go/tools/leaderelection
|
|
||||||
k8s.io/client-go/tools/leaderelection/resourcelock
|
|
||||||
k8s.io/client-go/kubernetes/scheme
|
|
||||||
k8s.io/client-go/pkg/version
|
k8s.io/client-go/pkg/version
|
||||||
k8s.io/client-go/plugin/pkg/client/auth/exec
|
k8s.io/client-go/plugin/pkg/client/auth/exec
|
||||||
k8s.io/client-go/rest/watch
|
k8s.io/client-go/rest/watch
|
||||||
k8s.io/client-go/util/workqueue
|
k8s.io/client-go/util/workqueue
|
||||||
k8s.io/client-go/tools/pager
|
k8s.io/client-go/tools/pager
|
||||||
k8s.io/client-go/util/retry
|
k8s.io/client-go/util/retry
|
||||||
k8s.io/client-go/informers/core/v1
|
|
||||||
k8s.io/client-go/informers/apps
|
k8s.io/client-go/informers/apps
|
||||||
k8s.io/client-go/informers/batch
|
k8s.io/client-go/informers/batch
|
||||||
k8s.io/client-go/informers/core
|
|
||||||
k8s.io/client-go/informers/rbac
|
|
||||||
k8s.io/client-go/informers/apps/v1
|
k8s.io/client-go/informers/apps/v1
|
||||||
k8s.io/client-go/listers/apps/v1
|
k8s.io/client-go/listers/apps/v1
|
||||||
k8s.io/client-go/tools/reference
|
k8s.io/client-go/tools/reference
|
||||||
k8s.io/client-go/util/exec
|
k8s.io/client-go/util/exec
|
||||||
k8s.io/client-go/tools/clientcmd/api/v1
|
|
||||||
k8s.io/client-go/informers/admissionregistration
|
k8s.io/client-go/informers/admissionregistration
|
||||||
k8s.io/client-go/informers/auditregistration
|
k8s.io/client-go/informers/auditregistration
|
||||||
k8s.io/client-go/informers/autoscaling
|
k8s.io/client-go/informers/autoscaling
|
||||||
@ -1468,10 +1467,15 @@ k8s.io/client-go/informers/policy
|
|||||||
k8s.io/client-go/informers/scheduling
|
k8s.io/client-go/informers/scheduling
|
||||||
k8s.io/client-go/informers/settings
|
k8s.io/client-go/informers/settings
|
||||||
k8s.io/client-go/informers/storage
|
k8s.io/client-go/informers/storage
|
||||||
|
k8s.io/client-go/tools/clientcmd/api/v1
|
||||||
k8s.io/client-go/tools/record/util
|
k8s.io/client-go/tools/record/util
|
||||||
k8s.io/client-go/informers/discovery/v1alpha1
|
k8s.io/client-go/informers/discovery/v1alpha1
|
||||||
k8s.io/client-go/util/certificate/csr
|
k8s.io/client-go/util/certificate/csr
|
||||||
k8s.io/client-go/listers/storage/v1beta1
|
k8s.io/client-go/listers/storage/v1beta1
|
||||||
|
k8s.io/client-go/informers/rbac/v1
|
||||||
|
k8s.io/client-go/listers/rbac/v1
|
||||||
|
k8s.io/client-go/informers/rbac/v1alpha1
|
||||||
|
k8s.io/client-go/informers/rbac/v1beta1
|
||||||
k8s.io/client-go/scale/scheme/autoscalingv1
|
k8s.io/client-go/scale/scheme/autoscalingv1
|
||||||
k8s.io/client-go/metadata/metadatalister
|
k8s.io/client-go/metadata/metadatalister
|
||||||
k8s.io/client-go/scale/scheme
|
k8s.io/client-go/scale/scheme
|
||||||
@ -1483,8 +1487,6 @@ k8s.io/client-go/scale/scheme/extensionsv1beta1
|
|||||||
k8s.io/client-go/tools/watch
|
k8s.io/client-go/tools/watch
|
||||||
k8s.io/client-go/informers/certificates/v1beta1
|
k8s.io/client-go/informers/certificates/v1beta1
|
||||||
k8s.io/client-go/listers/certificates/v1beta1
|
k8s.io/client-go/listers/certificates/v1beta1
|
||||||
k8s.io/client-go/informers/rbac/v1
|
|
||||||
k8s.io/client-go/listers/rbac/v1
|
|
||||||
k8s.io/client-go/informers/policy/v1beta1
|
k8s.io/client-go/informers/policy/v1beta1
|
||||||
k8s.io/client-go/listers/policy/v1beta1
|
k8s.io/client-go/listers/policy/v1beta1
|
||||||
k8s.io/client-go/listers/discovery/v1alpha1
|
k8s.io/client-go/listers/discovery/v1alpha1
|
||||||
@ -1507,8 +1509,6 @@ k8s.io/client-go/informers/apps/v1beta1
|
|||||||
k8s.io/client-go/informers/apps/v1beta2
|
k8s.io/client-go/informers/apps/v1beta2
|
||||||
k8s.io/client-go/informers/batch/v1beta1
|
k8s.io/client-go/informers/batch/v1beta1
|
||||||
k8s.io/client-go/informers/batch/v2alpha1
|
k8s.io/client-go/informers/batch/v2alpha1
|
||||||
k8s.io/client-go/informers/rbac/v1alpha1
|
|
||||||
k8s.io/client-go/informers/rbac/v1beta1
|
|
||||||
k8s.io/client-go/informers/admissionregistration/v1
|
k8s.io/client-go/informers/admissionregistration/v1
|
||||||
k8s.io/client-go/informers/admissionregistration/v1beta1
|
k8s.io/client-go/informers/admissionregistration/v1beta1
|
||||||
k8s.io/client-go/informers/auditregistration/v1alpha1
|
k8s.io/client-go/informers/auditregistration/v1alpha1
|
||||||
@ -1529,13 +1529,13 @@ k8s.io/client-go/informers/storage/v1alpha1
|
|||||||
k8s.io/client-go/listers/settings/v1alpha1
|
k8s.io/client-go/listers/settings/v1alpha1
|
||||||
k8s.io/client-go/listers/scheduling/v1
|
k8s.io/client-go/listers/scheduling/v1
|
||||||
k8s.io/client-go/listers/node/v1beta1
|
k8s.io/client-go/listers/node/v1beta1
|
||||||
|
k8s.io/client-go/listers/rbac/v1alpha1
|
||||||
|
k8s.io/client-go/listers/rbac/v1beta1
|
||||||
k8s.io/client-go/third_party/forked/golang/template
|
k8s.io/client-go/third_party/forked/golang/template
|
||||||
k8s.io/client-go/listers/apps/v1beta1
|
k8s.io/client-go/listers/apps/v1beta1
|
||||||
k8s.io/client-go/listers/apps/v1beta2
|
k8s.io/client-go/listers/apps/v1beta2
|
||||||
k8s.io/client-go/listers/batch/v1beta1
|
k8s.io/client-go/listers/batch/v1beta1
|
||||||
k8s.io/client-go/listers/batch/v2alpha1
|
k8s.io/client-go/listers/batch/v2alpha1
|
||||||
k8s.io/client-go/listers/rbac/v1alpha1
|
|
||||||
k8s.io/client-go/listers/rbac/v1beta1
|
|
||||||
k8s.io/client-go/listers/admissionregistration/v1beta1
|
k8s.io/client-go/listers/admissionregistration/v1beta1
|
||||||
k8s.io/client-go/listers/admissionregistration/v1
|
k8s.io/client-go/listers/admissionregistration/v1
|
||||||
k8s.io/client-go/listers/auditregistration/v1alpha1
|
k8s.io/client-go/listers/auditregistration/v1alpha1
|
||||||
@ -1585,8 +1585,8 @@ k8s.io/component-base/metrics/prometheus/restclient
|
|||||||
k8s.io/component-base/config
|
k8s.io/component-base/config
|
||||||
k8s.io/component-base/metrics/legacyregistry
|
k8s.io/component-base/metrics/legacyregistry
|
||||||
k8s.io/component-base/cli/globalflag
|
k8s.io/component-base/cli/globalflag
|
||||||
k8s.io/component-base/metrics/prometheus/workqueue
|
|
||||||
k8s.io/component-base/version
|
k8s.io/component-base/version
|
||||||
|
k8s.io/component-base/metrics/prometheus/workqueue
|
||||||
k8s.io/component-base/metrics
|
k8s.io/component-base/metrics
|
||||||
k8s.io/component-base/featuregate
|
k8s.io/component-base/featuregate
|
||||||
k8s.io/component-base/config/v1alpha1
|
k8s.io/component-base/config/v1alpha1
|
||||||
@ -1741,6 +1741,7 @@ k8s.io/kubernetes/cmd/kubelet/app
|
|||||||
k8s.io/kubernetes/pkg/client/metrics/prometheus
|
k8s.io/kubernetes/pkg/client/metrics/prometheus
|
||||||
k8s.io/kubernetes/pkg/kubeapiserver/authorizer/modes
|
k8s.io/kubernetes/pkg/kubeapiserver/authorizer/modes
|
||||||
k8s.io/kubernetes/pkg/version/prometheus
|
k8s.io/kubernetes/pkg/version/prometheus
|
||||||
|
k8s.io/kubernetes/cmd/cloud-controller-manager/app
|
||||||
k8s.io/kubernetes/cmd/kube-apiserver/app
|
k8s.io/kubernetes/cmd/kube-apiserver/app
|
||||||
k8s.io/kubernetes/cmd/kube-controller-manager/app
|
k8s.io/kubernetes/cmd/kube-controller-manager/app
|
||||||
k8s.io/kubernetes/cmd/kube-scheduler/app
|
k8s.io/kubernetes/cmd/kube-scheduler/app
|
||||||
@ -1880,6 +1881,12 @@ k8s.io/kubernetes/pkg/volume/secret
|
|||||||
k8s.io/kubernetes/pkg/volume/util/hostutil
|
k8s.io/kubernetes/pkg/volume/util/hostutil
|
||||||
k8s.io/kubernetes/pkg/volume/util/subpath
|
k8s.io/kubernetes/pkg/volume/util/subpath
|
||||||
k8s.io/kubernetes/pkg/volume/vsphere_volume
|
k8s.io/kubernetes/pkg/volume/vsphere_volume
|
||||||
|
k8s.io/kubernetes/cmd/cloud-controller-manager/app/config
|
||||||
|
k8s.io/kubernetes/cmd/cloud-controller-manager/app/options
|
||||||
|
k8s.io/kubernetes/cmd/controller-manager/app
|
||||||
|
k8s.io/kubernetes/pkg/controller/cloud
|
||||||
|
k8s.io/kubernetes/pkg/controller/route
|
||||||
|
k8s.io/kubernetes/pkg/controller/service
|
||||||
k8s.io/kubernetes/cmd/kube-apiserver/app/options
|
k8s.io/kubernetes/cmd/kube-apiserver/app/options
|
||||||
k8s.io/kubernetes/pkg/controller/serviceaccount
|
k8s.io/kubernetes/pkg/controller/serviceaccount
|
||||||
k8s.io/kubernetes/pkg/generated/openapi
|
k8s.io/kubernetes/pkg/generated/openapi
|
||||||
@ -1890,7 +1897,6 @@ k8s.io/kubernetes/pkg/kubeapiserver/server
|
|||||||
k8s.io/kubernetes/pkg/master/controller/crdregistration
|
k8s.io/kubernetes/pkg/master/controller/crdregistration
|
||||||
k8s.io/kubernetes/pkg/registry/cachesize
|
k8s.io/kubernetes/pkg/registry/cachesize
|
||||||
k8s.io/kubernetes/plugin/pkg/auth/authenticator/token/bootstrap
|
k8s.io/kubernetes/plugin/pkg/auth/authenticator/token/bootstrap
|
||||||
k8s.io/kubernetes/cmd/controller-manager/app
|
|
||||||
k8s.io/kubernetes/cmd/kube-controller-manager/app/config
|
k8s.io/kubernetes/cmd/kube-controller-manager/app/config
|
||||||
k8s.io/kubernetes/cmd/kube-controller-manager/app/options
|
k8s.io/kubernetes/cmd/kube-controller-manager/app/options
|
||||||
k8s.io/kubernetes/pkg/controller
|
k8s.io/kubernetes/pkg/controller
|
||||||
@ -1900,7 +1906,6 @@ k8s.io/kubernetes/pkg/controller/certificates/approver
|
|||||||
k8s.io/kubernetes/pkg/controller/certificates/cleaner
|
k8s.io/kubernetes/pkg/controller/certificates/cleaner
|
||||||
k8s.io/kubernetes/pkg/controller/certificates/rootcacertpublisher
|
k8s.io/kubernetes/pkg/controller/certificates/rootcacertpublisher
|
||||||
k8s.io/kubernetes/pkg/controller/certificates/signer
|
k8s.io/kubernetes/pkg/controller/certificates/signer
|
||||||
k8s.io/kubernetes/pkg/controller/cloud
|
|
||||||
k8s.io/kubernetes/pkg/controller/clusterroleaggregation
|
k8s.io/kubernetes/pkg/controller/clusterroleaggregation
|
||||||
k8s.io/kubernetes/pkg/controller/cronjob
|
k8s.io/kubernetes/pkg/controller/cronjob
|
||||||
k8s.io/kubernetes/pkg/controller/daemon
|
k8s.io/kubernetes/pkg/controller/daemon
|
||||||
@ -1920,8 +1925,6 @@ k8s.io/kubernetes/pkg/controller/podgc
|
|||||||
k8s.io/kubernetes/pkg/controller/replicaset
|
k8s.io/kubernetes/pkg/controller/replicaset
|
||||||
k8s.io/kubernetes/pkg/controller/replication
|
k8s.io/kubernetes/pkg/controller/replication
|
||||||
k8s.io/kubernetes/pkg/controller/resourcequota
|
k8s.io/kubernetes/pkg/controller/resourcequota
|
||||||
k8s.io/kubernetes/pkg/controller/route
|
|
||||||
k8s.io/kubernetes/pkg/controller/service
|
|
||||||
k8s.io/kubernetes/pkg/controller/statefulset
|
k8s.io/kubernetes/pkg/controller/statefulset
|
||||||
k8s.io/kubernetes/pkg/controller/ttl
|
k8s.io/kubernetes/pkg/controller/ttl
|
||||||
k8s.io/kubernetes/pkg/controller/ttlafterfinished
|
k8s.io/kubernetes/pkg/controller/ttlafterfinished
|
||||||
@ -2214,9 +2217,13 @@ k8s.io/kubernetes/pkg/volume/util/recyclerclient
|
|||||||
k8s.io/kubernetes/pkg/volume/csi/csiv0
|
k8s.io/kubernetes/pkg/volume/csi/csiv0
|
||||||
k8s.io/kubernetes/pkg/volume/csi/nodeinfomanager
|
k8s.io/kubernetes/pkg/volume/csi/nodeinfomanager
|
||||||
k8s.io/kubernetes/pkg/volume/util/fsquota
|
k8s.io/kubernetes/pkg/volume/util/fsquota
|
||||||
|
k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config
|
||||||
|
k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/scheme
|
||||||
|
k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1
|
||||||
|
k8s.io/kubernetes/cmd/controller-manager/app/options
|
||||||
|
k8s.io/kubernetes/pkg/controller/util/node
|
||||||
k8s.io/kubernetes/pkg/registry/core/secret
|
k8s.io/kubernetes/pkg/registry/core/secret
|
||||||
k8s.io/kubernetes/pkg/quota/v1
|
k8s.io/kubernetes/pkg/quota/v1
|
||||||
k8s.io/kubernetes/cmd/controller-manager/app/options
|
|
||||||
k8s.io/kubernetes/pkg/controller/apis/config/scheme
|
k8s.io/kubernetes/pkg/controller/apis/config/scheme
|
||||||
k8s.io/kubernetes/pkg/controller/certificates/signer/config
|
k8s.io/kubernetes/pkg/controller/certificates/signer/config
|
||||||
k8s.io/kubernetes/pkg/controller/daemon/config
|
k8s.io/kubernetes/pkg/controller/daemon/config
|
||||||
@ -2239,7 +2246,6 @@ k8s.io/kubernetes/pkg/controller/ttlafterfinished/config
|
|||||||
k8s.io/kubernetes/pkg/controller/volume/attachdetach/config
|
k8s.io/kubernetes/pkg/controller/volume/attachdetach/config
|
||||||
k8s.io/kubernetes/pkg/controller/service/config
|
k8s.io/kubernetes/pkg/controller/service/config
|
||||||
k8s.io/kubernetes/pkg/controller/certificates
|
k8s.io/kubernetes/pkg/controller/certificates
|
||||||
k8s.io/kubernetes/pkg/controller/util/node
|
|
||||||
k8s.io/kubernetes/pkg/controller/daemon/util
|
k8s.io/kubernetes/pkg/controller/daemon/util
|
||||||
k8s.io/kubernetes/pkg/util/labels
|
k8s.io/kubernetes/pkg/util/labels
|
||||||
k8s.io/kubernetes/pkg/controller/deployment/util
|
k8s.io/kubernetes/pkg/controller/deployment/util
|
||||||
@ -2380,6 +2386,7 @@ k8s.io/kubernetes/pkg/util/ebtables
|
|||||||
k8s.io/kubernetes/pkg/kubelet/kubeletconfig/util/files
|
k8s.io/kubernetes/pkg/kubelet/kubeletconfig/util/files
|
||||||
k8s.io/kubernetes/pkg/volume/util/fsquota/common
|
k8s.io/kubernetes/pkg/volume/util/fsquota/common
|
||||||
k8s.io/kubernetes/pkg/controller/apis/config/v1alpha1
|
k8s.io/kubernetes/pkg/controller/apis/config/v1alpha1
|
||||||
|
k8s.io/kubernetes/pkg/controller/service/config/v1alpha1
|
||||||
k8s.io/kubernetes/pkg/volume/util/nestedpendingoperations
|
k8s.io/kubernetes/pkg/volume/util/nestedpendingoperations
|
||||||
k8s.io/kubernetes/pkg/scheduler/algorithm/priorities
|
k8s.io/kubernetes/pkg/scheduler/algorithm/priorities
|
||||||
k8s.io/kubernetes/pkg/scheduler/api/validation
|
k8s.io/kubernetes/pkg/scheduler/api/validation
|
||||||
@ -2432,7 +2439,6 @@ k8s.io/kubernetes/pkg/controller/podgc/config/v1alpha1
|
|||||||
k8s.io/kubernetes/pkg/controller/replicaset/config/v1alpha1
|
k8s.io/kubernetes/pkg/controller/replicaset/config/v1alpha1
|
||||||
k8s.io/kubernetes/pkg/controller/replication/config/v1alpha1
|
k8s.io/kubernetes/pkg/controller/replication/config/v1alpha1
|
||||||
k8s.io/kubernetes/pkg/controller/resourcequota/config/v1alpha1
|
k8s.io/kubernetes/pkg/controller/resourcequota/config/v1alpha1
|
||||||
k8s.io/kubernetes/pkg/controller/service/config/v1alpha1
|
|
||||||
k8s.io/kubernetes/pkg/controller/serviceaccount/config/v1alpha1
|
k8s.io/kubernetes/pkg/controller/serviceaccount/config/v1alpha1
|
||||||
k8s.io/kubernetes/pkg/controller/statefulset/config/v1alpha1
|
k8s.io/kubernetes/pkg/controller/statefulset/config/v1alpha1
|
||||||
k8s.io/kubernetes/pkg/controller/ttlafterfinished/config/v1alpha1
|
k8s.io/kubernetes/pkg/controller/ttlafterfinished/config/v1alpha1
|
||||||
|
Loading…
Reference in New Issue
Block a user