remove nodeLease feature GA

Signed-off-by: cyclinder <qifeng.guo@daocloud.io>
This commit is contained in:
Author cyclinder 2021-09-24 11:07:53 +08:00 committed by cyclinder
parent 005dfcd09e
commit e61b901628
4 changed files with 11 additions and 25 deletions

View File

@ -314,8 +314,7 @@ type Controller struct {
// Controller will not proactively sync node health, but will monitor node // Controller will not proactively sync node health, but will monitor node
// health signal updated from kubelet. There are 2 kinds of node healthiness // health signal updated from kubelet. There are 2 kinds of node healthiness
// signals: NodeStatus and NodeLease. NodeLease signal is generated only when // signals: NodeStatus and NodeLease. If it doesn't receive update for this amount
// NodeLease feature is enabled. If it doesn't receive update for this amount
// of time, it will start posting "NodeReady==ConditionUnknown". The amount of // of time, it will start posting "NodeReady==ConditionUnknown". The amount of
// time before which Controller start evicting pods is controlled via flag // time before which Controller start evicting pods is controlled via flag
// 'pod-eviction-timeout'. // 'pod-eviction-timeout'.

View File

@ -185,15 +185,6 @@ const (
// Enables RuntimeClass, for selecting between multiple runtimes to run a pod. // Enables RuntimeClass, for selecting between multiple runtimes to run a pod.
RuntimeClass featuregate.Feature = "RuntimeClass" RuntimeClass featuregate.Feature = "RuntimeClass"
// owner: @mtaufen
// alpha: v1.12
// beta: v1.14
// GA: v1.17
//
// Kubelet uses the new Lease API to report node heartbeats,
// (Kube) Node Lifecycle Controller uses these heartbeats as a node health signal.
NodeLease featuregate.Feature = "NodeLease"
// owner: @rikatz // owner: @rikatz
// kep: http://kep.k8s.io/2079 // kep: http://kep.k8s.io/2079
// alpha: v1.21 // alpha: v1.21
@ -786,7 +777,6 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
GenericEphemeralVolume: {Default: true, PreRelease: featuregate.Beta}, GenericEphemeralVolume: {Default: true, PreRelease: featuregate.Beta},
CSIVolumeFSGroupPolicy: {Default: true, PreRelease: featuregate.Beta}, CSIVolumeFSGroupPolicy: {Default: true, PreRelease: featuregate.Beta},
RuntimeClass: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.23 RuntimeClass: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.23
NodeLease: {Default: true, PreRelease: featuregate.GA, LockToDefault: true},
NetworkPolicyEndPort: {Default: true, PreRelease: featuregate.Beta}, NetworkPolicyEndPort: {Default: true, PreRelease: featuregate.Beta},
ProcMountType: {Default: false, PreRelease: featuregate.Alpha}, ProcMountType: {Default: false, PreRelease: featuregate.Alpha},
TTLAfterFinished: {Default: true, PreRelease: featuregate.Beta}, TTLAfterFinished: {Default: true, PreRelease: featuregate.Beta},

View File

@ -383,14 +383,13 @@ type KubeletConfiguration struct {
// Default: "5m" // Default: "5m"
// +optional // +optional
NodeStatusReportFrequency metav1.Duration `json:"nodeStatusReportFrequency,omitempty"` NodeStatusReportFrequency metav1.Duration `json:"nodeStatusReportFrequency,omitempty"`
// nodeLeaseDurationSeconds is the duration the Kubelet will set on its corresponding Lease, // nodeLeaseDurationSeconds is the duration the Kubelet will set on its corresponding Lease.
// when the NodeLease feature is enabled. This feature provides an indicator of node // NodeLease provides an indicator of node health by having the Kubelet create and
// health by having the Kubelet create and periodically renew a lease, named after the node, // periodically renew a lease, named after the node, in the kube-node-lease namespace.
// in the kube-node-lease namespace. If the lease expires, the node can be considered unhealthy. // If the lease expires, the node can be considered unhealthy.
// The lease is currently renewed every 10s, per KEP-0009. In the future, the lease renewal interval // The lease is currently renewed every 10s, per KEP-0009. In the future, the lease renewal
// may be set based on the lease duration. // interval may be set based on the lease duration.
// The field value must be greater than 0. // The field value must be greater than 0.
// Requires the NodeLease feature gate to be enabled.
// If DynamicKubeletConfig (deprecated; default off) is on, when // If DynamicKubeletConfig (deprecated; default off) is on, when
// dynamically updating this field, consider that // dynamically updating this field, consider that
// decreasing the duration may reduce tolerance for issues that temporarily prevent // decreasing the duration may reduce tolerance for issues that temporarily prevent
@ -399,11 +398,9 @@ type KubeletConfiguration struct {
// +optional // +optional
NodeLeaseDurationSeconds int32 `json:"nodeLeaseDurationSeconds,omitempty"` NodeLeaseDurationSeconds int32 `json:"nodeLeaseDurationSeconds,omitempty"`
// imageMinimumGCAge is the minimum age for an unused image before it is // imageMinimumGCAge is the minimum age for an unused image before it is
// garbage collected. // garbage collected. If DynamicKubeletConfig (deprecated; default off)
// If DynamicKubeletConfig (deprecated; default off) is on, when // is on, when dynamically updating this field, consider that it may trigger or
// dynamically updating this field, consider that // delay garbage collection, and may change the image overhead on the node.
// it may trigger or delay garbage collection, and may change the image overhead
// on the node.
// Default: "2m" // Default: "2m"
// +optional // +optional
ImageMinimumGCAge metav1.Duration `json:"imageMinimumGCAge,omitempty"` ImageMinimumGCAge metav1.Duration `json:"imageMinimumGCAge,omitempty"`

View File

@ -46,7 +46,7 @@ var _ = SIGDescribe("NodeLease", func() {
nodeName = node.Name nodeName = node.Name
}) })
ginkgo.Context("when the NodeLease feature is enabled", func() { ginkgo.Context("NodeLease", func() {
ginkgo.It("the kubelet should create and update a lease in the kube-node-lease namespace", func() { ginkgo.It("the kubelet should create and update a lease in the kube-node-lease namespace", func() {
leaseClient := f.ClientSet.CoordinationV1().Leases(v1.NamespaceNodeLease) leaseClient := f.ClientSet.CoordinationV1().Leases(v1.NamespaceNodeLease)
var ( var (