mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 05:57:25 +00:00
kubeadm: Make kube-proxy tolerate the uninitialized cloud taint
This commit is contained in:
parent
1170b7c2a1
commit
d0ab597b8e
@ -21,6 +21,7 @@ go_library(
|
|||||||
"//cmd/kubeadm/app/images:go_default_library",
|
"//cmd/kubeadm/app/images:go_default_library",
|
||||||
"//cmd/kubeadm/app/util:go_default_library",
|
"//cmd/kubeadm/app/util:go_default_library",
|
||||||
"//pkg/api:go_default_library",
|
"//pkg/api:go_default_library",
|
||||||
|
"//plugin/pkg/scheduler/algorithm:go_default_library",
|
||||||
"//vendor/k8s.io/api/core/v1:go_default_library",
|
"//vendor/k8s.io/api/core/v1:go_default_library",
|
||||||
"//vendor/k8s.io/api/extensions/v1beta1:go_default_library",
|
"//vendor/k8s.io/api/extensions/v1beta1:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
||||||
|
@ -32,6 +32,7 @@ import (
|
|||||||
"k8s.io/kubernetes/cmd/kubeadm/app/images"
|
"k8s.io/kubernetes/cmd/kubeadm/app/images"
|
||||||
kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util"
|
kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
|
"k8s.io/kubernetes/plugin/pkg/scheduler/algorithm"
|
||||||
)
|
)
|
||||||
|
|
||||||
// CreateEssentialAddons creates the kube-proxy and kube-dns addons
|
// CreateEssentialAddons creates the kube-proxy and kube-dns addons
|
||||||
@ -44,10 +45,11 @@ func CreateEssentialAddons(cfg *kubeadmapi.MasterConfiguration, client *clientse
|
|||||||
return fmt.Errorf("error when parsing kube-proxy configmap template: %v", err)
|
return fmt.Errorf("error when parsing kube-proxy configmap template: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
proxyDaemonSetBytes, err := kubeadmutil.ParseTemplate(KubeProxyDaemonSet, struct{ Image, ClusterCIDR, MasterTaintKey string }{
|
proxyDaemonSetBytes, err := kubeadmutil.ParseTemplate(KubeProxyDaemonSet, struct{ Image, ClusterCIDR, MasterTaintKey, CloudTaintKey string }{
|
||||||
Image: images.GetCoreImage("proxy", cfg, cfg.UnifiedControlPlaneImage),
|
Image: images.GetCoreImage("proxy", cfg, cfg.UnifiedControlPlaneImage),
|
||||||
ClusterCIDR: getClusterCIDR(cfg.Networking.PodSubnet),
|
ClusterCIDR: getClusterCIDR(cfg.Networking.PodSubnet),
|
||||||
MasterTaintKey: kubeadmconstants.LabelNodeRoleMaster,
|
MasterTaintKey: kubeadmconstants.LabelNodeRoleMaster,
|
||||||
|
CloudTaintKey: algorithm.TaintExternalCloudProvider,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("error when parsing kube-proxy daemonset template: %v", err)
|
return fmt.Errorf("error when parsing kube-proxy daemonset template: %v", err)
|
||||||
|
@ -54,10 +54,11 @@ func TestCompileManifests(t *testing.T) {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
manifest: KubeProxyDaemonSet,
|
manifest: KubeProxyDaemonSet,
|
||||||
data: struct{ Image, ClusterCIDR, MasterTaintKey string }{
|
data: struct{ Image, ClusterCIDR, MasterTaintKey, CloudTaintKey string }{
|
||||||
Image: "foo",
|
Image: "foo",
|
||||||
ClusterCIDR: "foo",
|
ClusterCIDR: "foo",
|
||||||
MasterTaintKey: "foo",
|
MasterTaintKey: "foo",
|
||||||
|
CloudTaintKey: "foo",
|
||||||
},
|
},
|
||||||
expected: true,
|
expected: true,
|
||||||
},
|
},
|
||||||
|
@ -88,6 +88,9 @@ spec:
|
|||||||
tolerations:
|
tolerations:
|
||||||
- key: {{ .MasterTaintKey }}
|
- key: {{ .MasterTaintKey }}
|
||||||
effect: NoSchedule
|
effect: NoSchedule
|
||||||
|
- key: {{ .CloudTaintKey }}
|
||||||
|
value: "true"
|
||||||
|
effect: NoSchedule
|
||||||
volumes:
|
volumes:
|
||||||
- name: kube-proxy
|
- name: kube-proxy
|
||||||
configMap:
|
configMap:
|
||||||
|
Loading…
Reference in New Issue
Block a user