mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-05 10:19:50 +00:00
don't watch headless services on kubelet
The kubelet watches services only to generate the environment variables inside a pod, but headless services are not needed for this. Change-Id: Idb4e893862c55df5e29e13ac92ed288ff573dc0c
This commit is contained in:
parent
c37e14364c
commit
7d78fb791d
@ -456,7 +456,11 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
|
|||||||
var serviceLister corelisters.ServiceLister
|
var serviceLister corelisters.ServiceLister
|
||||||
var serviceHasSynced cache.InformerSynced
|
var serviceHasSynced cache.InformerSynced
|
||||||
if kubeDeps.KubeClient != nil {
|
if kubeDeps.KubeClient != nil {
|
||||||
kubeInformers := informers.NewSharedInformerFactoryWithOptions(kubeDeps.KubeClient, 0)
|
// don't watch headless services, they are not needed since this informer is only used to create the environment variables for pods.
|
||||||
|
// See https://issues.k8s.io/122394
|
||||||
|
kubeInformers := informers.NewSharedInformerFactoryWithOptions(kubeDeps.KubeClient, 0, informers.WithTweakListOptions(func(options *metav1.ListOptions) {
|
||||||
|
options.FieldSelector = fields.OneTermNotEqualSelector("spec.clusterIP", v1.ClusterIPNone).String()
|
||||||
|
}))
|
||||||
serviceLister = kubeInformers.Core().V1().Services().Lister()
|
serviceLister = kubeInformers.Core().V1().Services().Lister()
|
||||||
serviceHasSynced = kubeInformers.Core().V1().Services().Informer().HasSynced
|
serviceHasSynced = kubeInformers.Core().V1().Services().Informer().HasSynced
|
||||||
kubeInformers.Start(wait.NeverStop)
|
kubeInformers.Start(wait.NeverStop)
|
||||||
|
Loading…
Reference in New Issue
Block a user