Skip to content

Commit 9380755

Browse files
authored
Fix flags for KCM in 1.22 version (#271)
1 parent 8b28617 commit 9380755

File tree

1 file changed

+40
-8
lines changed

1 file changed

+40
-8
lines changed

operator/pkg/controllers/master/kubecontrollermanager.go

Lines changed: 40 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ package master
1717
import (
1818
"context"
1919
"fmt"
20+
"strings"
2021

2122
"github.com/aws/aws-sdk-go/aws"
2223
"github.com/awslabs/kubernetes-iteration-toolkit/operator/pkg/apis/controlplane/v1alpha1"
@@ -82,7 +83,7 @@ func kcmLabels(clustername string) map[string]string {
8283

8384
func kcmPodSpecFor(controlPlane *v1alpha1.ControlPlane) v1.PodSpec {
8485
hostPathDirectoryOrCreate := v1.HostPathDirectoryOrCreate
85-
return v1.PodSpec{
86+
return kcmPodSpecForVersion(controlPlane.Spec.KubernetesVersion, &v1.PodSpec{
8687
TerminationGracePeriodSeconds: aws.Int64(1),
8788
HostNetwork: true,
8889
DNSPolicy: v1.DNSClusterFirstWithHostNet,
@@ -98,10 +99,6 @@ func kcmPodSpecFor(controlPlane *v1alpha1.ControlPlane) v1.PodSpec {
9899
v1.ResourceCPU: resource.MustParse("1"),
99100
},
100101
},
101-
Ports: []v1.ContainerPort{{
102-
ContainerPort: 10252,
103-
Name: "metrics",
104-
}},
105102
Args: []string{
106103
"--authentication-kubeconfig=/etc/kubernetes/config/kcm/controller-manager.conf",
107104
"--authorization-kubeconfig=/etc/kubernetes/config/kcm/controller-manager.conf",
@@ -152,9 +149,9 @@ func kcmPodSpecFor(controlPlane *v1alpha1.ControlPlane) v1.PodSpec {
152149
ProbeHandler: v1.ProbeHandler{
153150
HTTPGet: &v1.HTTPGetAction{
154151
Host: "127.0.0.1",
155-
Scheme: v1.URISchemeHTTP,
152+
Scheme: kcmHealthCheckSchemeForVersion(controlPlane.Spec.KubernetesVersion),
156153
Path: "/healthz",
157-
Port: intstr.FromInt(10252),
154+
Port: kcmHealthCheckPortForVersion(controlPlane.Spec.KubernetesVersion),
158155
},
159156
},
160157
InitialDelaySeconds: 10,
@@ -233,7 +230,7 @@ func kcmPodSpecFor(controlPlane *v1alpha1.ControlPlane) v1.PodSpec {
233230
},
234231
},
235232
}},
236-
}
233+
})
237234
}
238235

239236
func CloudConfigMapName(clusterName string) string {
@@ -253,3 +250,38 @@ data:
253250
KubernetesClusterID={{ .ClusterName}}
254251
`
255252
)
253+
254+
var (
255+
disabledFlagsForKube122 = map[string]struct{}{"--horizontal-pod-autoscaler-use-rest-clients": {}}
256+
)
257+
258+
func kcmPodSpecForVersion(version string, defaultSpec *v1.PodSpec) v1.PodSpec {
259+
switch version {
260+
case "1.22":
261+
args := []string{}
262+
for _, arg := range defaultSpec.Containers[0].Args {
263+
if _, skip := disabledFlagsForKube122[strings.Split(arg, "=")[0]]; skip {
264+
continue
265+
}
266+
args = append(args, arg)
267+
}
268+
defaultSpec.Containers[0].Args = args
269+
}
270+
return *defaultSpec
271+
}
272+
273+
func kcmHealthCheckPortForVersion(version string) intstr.IntOrString {
274+
switch version {
275+
case "1.22":
276+
return intstr.FromInt(10257)
277+
}
278+
return intstr.FromInt(10252)
279+
}
280+
281+
func kcmHealthCheckSchemeForVersion(version string) v1.URIScheme {
282+
switch version {
283+
case "1.22":
284+
return v1.URISchemeHTTPS
285+
}
286+
return v1.URISchemeHTTP
287+
}

0 commit comments

Comments
 (0)