mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-24 11:01:26 +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: I22ee2b3352f8fe71cddfafa6f09b768c0a0e26b4
This commit is contained in:
parent
0595ec7942
commit
5122fe0732
@ -451,7 +451,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