mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 12:18:16 +00:00 
			
		
		
		
	kubeadm: Make kube-proxy tolerate all taints
As a essential core component, kube-proxy should generally run on all nodes even if the cluster operator taints nodes for special purposes. This fixes kubernetes/kubeadm#699
This commit is contained in:
		@@ -34,13 +34,11 @@ go_library(
 | 
			
		||||
    importpath = "k8s.io/kubernetes/cmd/kubeadm/app/phases/addons/proxy",
 | 
			
		||||
    deps = [
 | 
			
		||||
        "//cmd/kubeadm/app/apis/kubeadm:go_default_library",
 | 
			
		||||
        "//cmd/kubeadm/app/constants:go_default_library",
 | 
			
		||||
        "//cmd/kubeadm/app/util:go_default_library",
 | 
			
		||||
        "//cmd/kubeadm/app/util/apiclient:go_default_library",
 | 
			
		||||
        "//pkg/api/legacyscheme:go_default_library",
 | 
			
		||||
        "//pkg/proxy/apis/kubeproxyconfig/scheme:go_default_library",
 | 
			
		||||
        "//pkg/proxy/apis/kubeproxyconfig/v1alpha1:go_default_library",
 | 
			
		||||
        "//pkg/scheduler/algorithm:go_default_library",
 | 
			
		||||
        "//vendor/k8s.io/api/apps/v1:go_default_library",
 | 
			
		||||
        "//vendor/k8s.io/api/core/v1:go_default_library",
 | 
			
		||||
        "//vendor/k8s.io/api/rbac/v1:go_default_library",
 | 
			
		||||
 
 | 
			
		||||
@@ -91,11 +91,7 @@ spec:
 | 
			
		||||
      hostNetwork: true
 | 
			
		||||
      serviceAccountName: kube-proxy
 | 
			
		||||
      tolerations:
 | 
			
		||||
      - key: {{ .MasterTaintKey }}
 | 
			
		||||
        effect: NoSchedule
 | 
			
		||||
      - key: {{ .CloudTaintKey }}
 | 
			
		||||
        value: "true"
 | 
			
		||||
        effect: NoSchedule
 | 
			
		||||
      - operator: Exists
 | 
			
		||||
      volumes:
 | 
			
		||||
      - name: kube-proxy
 | 
			
		||||
        configMap:
 | 
			
		||||
 
 | 
			
		||||
@@ -28,13 +28,11 @@ import (
 | 
			
		||||
	kuberuntime "k8s.io/apimachinery/pkg/runtime"
 | 
			
		||||
	clientset "k8s.io/client-go/kubernetes"
 | 
			
		||||
	kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
 | 
			
		||||
	kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants"
 | 
			
		||||
	kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util"
 | 
			
		||||
	"k8s.io/kubernetes/cmd/kubeadm/app/util/apiclient"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/api/legacyscheme"
 | 
			
		||||
	kubeproxyconfigscheme "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/scheme"
 | 
			
		||||
	kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/scheduler/algorithm"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
@@ -77,13 +75,11 @@ func EnsureProxyAddon(cfg *kubeadmapi.MasterConfiguration, client clientset.Inte
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return fmt.Errorf("error when parsing kube-proxy configmap template: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
	proxyDaemonSetBytes, err = kubeadmutil.ParseTemplate(KubeProxyDaemonSet19, struct{ ImageRepository, Arch, Version, ImageOverride, MasterTaintKey, CloudTaintKey string }{
 | 
			
		||||
	proxyDaemonSetBytes, err = kubeadmutil.ParseTemplate(KubeProxyDaemonSet19, struct{ ImageRepository, Arch, Version, ImageOverride string }{
 | 
			
		||||
		ImageRepository: cfg.GetControlPlaneImageRepository(),
 | 
			
		||||
		Arch:            runtime.GOARCH,
 | 
			
		||||
		Version:         kubeadmutil.KubernetesVersionToImageTag(cfg.KubernetesVersion),
 | 
			
		||||
		ImageOverride:   cfg.UnifiedControlPlaneImage,
 | 
			
		||||
		MasterTaintKey:  kubeadmconstants.LabelNodeRoleMaster,
 | 
			
		||||
		CloudTaintKey:   algorithm.TaintExternalCloudProvider,
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return fmt.Errorf("error when parsing kube-proxy daemonset template: %v", err)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user