This extends the Kubelet to create and periodically update leases in a new kube-node-lease namespace. Based on [KEP-0009](https://github.com/kubernetes/community/blob/master/keps/sig-node/0009-node-heartbeat.md), these leases can be used as a node health signal, and will allow us to reduce the load caused by over-frequent node status reporting. - add NodeLease feature gate - add kube-node-lease system namespace for node leases - add Kubelet option for lease duration - add Kubelet-internal lease controller to create and update lease - add e2e test for NodeLease feature - modify node authorizer and node restriction admission controller to allow Kubelets access to corresponding leases
67 lines
2.6 KiB
Python
67 lines
2.6 KiB
Python
package(default_visibility = ["//visibility:public"])
|
|
|
|
load(
|
|
"@io_bazel_rules_go//go:def.bzl",
|
|
"go_library",
|
|
"go_test",
|
|
)
|
|
|
|
go_library(
|
|
name = "go_default_library",
|
|
srcs = ["admission.go"],
|
|
importpath = "k8s.io/kubernetes/plugin/pkg/admission/noderestriction",
|
|
deps = [
|
|
"//pkg/api/pod:go_default_library",
|
|
"//pkg/apis/authentication:go_default_library",
|
|
"//pkg/apis/coordination:go_default_library",
|
|
"//pkg/apis/core:go_default_library",
|
|
"//pkg/apis/policy:go_default_library",
|
|
"//pkg/auth/nodeidentifier:go_default_library",
|
|
"//pkg/features:go_default_library",
|
|
"//staging/src/k8s.io/apimachinery/pkg/api/equality:go_default_library",
|
|
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
|
"//staging/src/k8s.io/apimachinery/pkg/util/diff:go_default_library",
|
|
"//staging/src/k8s.io/apiserver/pkg/admission:go_default_library",
|
|
"//staging/src/k8s.io/apiserver/pkg/admission/initializer: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/listers/core/v1:go_default_library",
|
|
],
|
|
)
|
|
|
|
go_test(
|
|
name = "go_default_test",
|
|
srcs = ["admission_test.go"],
|
|
embed = [":go_default_library"],
|
|
deps = [
|
|
"//pkg/apis/authentication:go_default_library",
|
|
"//pkg/apis/coordination:go_default_library",
|
|
"//pkg/apis/core:go_default_library",
|
|
"//pkg/apis/policy:go_default_library",
|
|
"//pkg/auth/nodeidentifier:go_default_library",
|
|
"//pkg/features: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/types:go_default_library",
|
|
"//staging/src/k8s.io/apiserver/pkg/admission:go_default_library",
|
|
"//staging/src/k8s.io/apiserver/pkg/authentication/user:go_default_library",
|
|
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
|
|
"//staging/src/k8s.io/client-go/listers/core/v1:go_default_library",
|
|
"//staging/src/k8s.io/client-go/tools/cache:go_default_library",
|
|
"//vendor/k8s.io/utils/pointer:go_default_library",
|
|
],
|
|
)
|
|
|
|
filegroup(
|
|
name = "package-srcs",
|
|
srcs = glob(["**"]),
|
|
tags = ["automanaged"],
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
filegroup(
|
|
name = "all-srcs",
|
|
srcs = [":package-srcs"],
|
|
tags = ["automanaged"],
|
|
)
|