Skip to content

Commit 4e9bdd4

Browse files
authored
Merge pull request kubernetes#94471 from kshitijcode/kubelet-taint-fix-93608
Added support for register-with-taints setting kubernetes#93608
2 parents c06bc2f + e4dee9c commit 4e9bdd4

File tree

4 files changed

+11
-0
lines changed

4 files changed

+11
-0
lines changed

cmd/kubemark/BUILD

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ go_library(
1717
importpath = "k8s.io/kubernetes/cmd/kubemark",
1818
deps = [
1919
"//pkg/api/legacyscheme:go_default_library",
20+
"//pkg/apis/core:go_default_library",
2021
"//pkg/cluster/ports:go_default_library",
2122
"//pkg/kubelet/cadvisor/testing:go_default_library",
2223
"//pkg/kubelet/cm:go_default_library",
@@ -25,6 +26,7 @@ go_library(
2526
"//pkg/kubemark:go_default_library",
2627
"//pkg/util/iptables/testing:go_default_library",
2728
"//pkg/util/sysctl/testing:go_default_library",
29+
"//pkg/util/taints:go_default_library",
2830
"//staging/src/k8s.io/api/core/v1:go_default_library",
2931
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
3032
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",

cmd/kubemark/hollow-node.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ import (
4141
"k8s.io/component-base/version"
4242
"k8s.io/component-base/version/verflag"
4343
"k8s.io/kubernetes/pkg/api/legacyscheme"
44+
"k8s.io/kubernetes/pkg/apis/core"
4445
"k8s.io/kubernetes/pkg/cluster/ports"
4546
cadvisortest "k8s.io/kubernetes/pkg/kubelet/cadvisor/testing"
4647
"k8s.io/kubernetes/pkg/kubelet/cm"
@@ -49,6 +50,7 @@ import (
4950
"k8s.io/kubernetes/pkg/kubemark"
5051
fakeiptables "k8s.io/kubernetes/pkg/util/iptables/testing"
5152
fakesysctl "k8s.io/kubernetes/pkg/util/sysctl/testing"
53+
utiltaints "k8s.io/kubernetes/pkg/util/taints"
5254
fakeexec "k8s.io/utils/exec/testing"
5355
)
5456

@@ -64,6 +66,7 @@ type hollowNodeConfig struct {
6466
ProxierSyncPeriod time.Duration
6567
ProxierMinSyncPeriod time.Duration
6668
NodeLabels map[string]string
69+
RegisterWithTaints []core.Taint
6770
}
6871

6972
const (
@@ -88,6 +91,7 @@ func (c *hollowNodeConfig) addFlags(fs *pflag.FlagSet) {
8891
fs.DurationVar(&c.ProxierMinSyncPeriod, "proxier-min-sync-period", 0, "Minimum period that proxy rules are refreshed in hollow-proxy.")
8992
bindableNodeLabels := cliflag.ConfigurationMap(c.NodeLabels)
9093
fs.Var(&bindableNodeLabels, "node-labels", "Additional node labels")
94+
fs.Var(utiltaints.NewTaintsVar(&c.RegisterWithTaints), "register-with-taints", "Register the node with the given list of taints (comma separated \"<key>=<value>:<effect>\"). No-op if register-node is false.")
9195
}
9296

9397
func (c *hollowNodeConfig) createClientConfigFromFile() (*restclient.Config, error) {
@@ -113,6 +117,7 @@ func (c *hollowNodeConfig) createHollowKubeletOptions() *kubemark.HollowKubletOp
113117
MaxPods: maxPods,
114118
PodsPerCore: podsPerCore,
115119
NodeLabels: c.NodeLabels,
120+
RegisterWithTaints: c.RegisterWithTaints,
116121
}
117122
}
118123

pkg/kubemark/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ go_library(
1717
"//cmd/kube-proxy/app:go_default_library",
1818
"//cmd/kubelet/app:go_default_library",
1919
"//cmd/kubelet/app/options:go_default_library",
20+
"//pkg/apis/core:go_default_library",
2021
"//pkg/kubelet:go_default_library",
2122
"//pkg/kubelet/apis/config:go_default_library",
2223
"//pkg/kubelet/cadvisor:go_default_library",

pkg/kubemark/hollow_kubelet.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import (
2828
internalapi "k8s.io/cri-api/pkg/apis"
2929
kubeletapp "k8s.io/kubernetes/cmd/kubelet/app"
3030
"k8s.io/kubernetes/cmd/kubelet/app/options"
31+
"k8s.io/kubernetes/pkg/apis/core"
3132
"k8s.io/kubernetes/pkg/kubelet"
3233
kubeletconfig "k8s.io/kubernetes/pkg/kubelet/apis/config"
3334
"k8s.io/kubernetes/pkg/kubelet/cadvisor"
@@ -144,6 +145,7 @@ type HollowKubletOptions struct {
144145
MaxPods int
145146
PodsPerCore int
146147
NodeLabels map[string]string
148+
RegisterWithTaints []core.Taint
147149
}
148150

149151
// Builds a KubeletConfiguration for the HollowKubelet, ensuring that the
@@ -164,6 +166,7 @@ func GetHollowKubeletConfig(opt *HollowKubletOptions) (*options.KubeletFlags, *k
164166
f.ContainerRuntimeOptions.ContainerRuntime = kubetypes.RemoteContainerRuntime
165167
f.RegisterNode = true
166168
f.RegisterSchedulable = true
169+
f.RegisterWithTaints = opt.RegisterWithTaints
167170

168171
// Config struct
169172
c, err := options.NewKubeletConfiguration()

0 commit comments

Comments
 (0)