mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-31 07:20:13 +00:00
fix endpoints controller del lead-election endpoints
This commit is contained in:
parent
1780a527f6
commit
e7ea942aac
@ -21,6 +21,7 @@ go_library(
|
|||||||
"//pkg/api/v1/pod:go_default_library",
|
"//pkg/api/v1/pod:go_default_library",
|
||||||
"//pkg/client/clientset_generated/clientset:go_default_library",
|
"//pkg/client/clientset_generated/clientset:go_default_library",
|
||||||
"//pkg/client/informers/informers_generated/externalversions/core/v1:go_default_library",
|
"//pkg/client/informers/informers_generated/externalversions/core/v1:go_default_library",
|
||||||
|
"//pkg/client/leaderelection/resourcelock:go_default_library",
|
||||||
"//pkg/client/listers/core/v1:go_default_library",
|
"//pkg/client/listers/core/v1:go_default_library",
|
||||||
"//pkg/controller:go_default_library",
|
"//pkg/controller:go_default_library",
|
||||||
"//pkg/util/metrics:go_default_library",
|
"//pkg/util/metrics:go_default_library",
|
||||||
|
@ -35,6 +35,7 @@ import (
|
|||||||
podutil "k8s.io/kubernetes/pkg/api/v1/pod"
|
podutil "k8s.io/kubernetes/pkg/api/v1/pod"
|
||||||
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
|
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
|
||||||
coreinformers "k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1"
|
coreinformers "k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1"
|
||||||
|
"k8s.io/kubernetes/pkg/client/leaderelection/resourcelock"
|
||||||
corelisters "k8s.io/kubernetes/pkg/client/listers/core/v1"
|
corelisters "k8s.io/kubernetes/pkg/client/listers/core/v1"
|
||||||
"k8s.io/kubernetes/pkg/controller"
|
"k8s.io/kubernetes/pkg/controller"
|
||||||
"k8s.io/kubernetes/pkg/util/metrics"
|
"k8s.io/kubernetes/pkg/util/metrics"
|
||||||
@ -461,6 +462,14 @@ func (e *EndpointController) checkLeftoverEndpoints() {
|
|||||||
}
|
}
|
||||||
for i := range list.Items {
|
for i := range list.Items {
|
||||||
ep := &list.Items[i]
|
ep := &list.Items[i]
|
||||||
|
if _, ok := ep.Annotations[resourcelock.LeaderElectionRecordAnnotationKey]; ok {
|
||||||
|
// when there are multiple controller-manager instances,
|
||||||
|
// we observe that it will delete leader-election endpoints after 5min
|
||||||
|
// and cause re-election
|
||||||
|
// so skip the delete here
|
||||||
|
// as leader-election only have endpoints without service
|
||||||
|
continue
|
||||||
|
}
|
||||||
key, err := keyFunc(ep)
|
key, err := keyFunc(ep)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
utilruntime.HandleError(fmt.Errorf("Unable to get key for endpoint %#v", ep))
|
utilruntime.HandleError(fmt.Errorf("Unable to get key for endpoint %#v", ep))
|
||||||
|
Loading…
Reference in New Issue
Block a user