Skip to content

Commit 17cda04

Browse files
committed
refactor: move remaining flags to kubelet configuration
1 parent 3395c5e commit 17cda04

File tree

6 files changed

+110
-6
lines changed

6 files changed

+110
-6
lines changed

charts/cluster-api-runtime-extensions-nutanix/defaultclusterclasses/aws-cluster-class.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,17 @@ spec:
108108
extraArgs:
109109
profiling: "false"
110110
files:
111+
- content: |
112+
apiVersion: kubelet.config.k8s.io/v1beta1
113+
kind: KubeletConfiguration
114+
evictionHard: |
115+
nodefs.available: "10%"
116+
nodefs.inodesFree: "5%"
117+
imagefs.available: "15%"
118+
memory.available: "100Mi"
119+
imagefs.inodesFree: "10%"
120+
path: /etc/kubernetes/patches/kubeletconfiguration0+strategic.json
121+
permissions: "0600"
111122
- content: |
112123
apiVersion: kubelet.config.k8s.io/v1beta1
113124
kind: KubeletConfiguration
@@ -194,6 +205,17 @@ spec:
194205
template:
195206
spec:
196207
files:
208+
- content: |
209+
apiVersion: kubelet.config.k8s.io/v1beta1
210+
kind: KubeletConfiguration
211+
evictionHard: |
212+
nodefs.available: "10%"
213+
nodefs.inodesFree: "5%"
214+
imagefs.available: "15%"
215+
memory.available: "100Mi"
216+
imagefs.inodesFree: "10%"
217+
path: /etc/kubernetes/patches/kubeletconfiguration0+strategic.json
218+
permissions: "0600"
197219
- content: |
198220
apiVersion: kubelet.config.k8s.io/v1beta1
199221
kind: KubeletConfiguration

charts/cluster-api-runtime-extensions-nutanix/defaultclusterclasses/nutanix-cluster-class.yaml

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,17 @@ spec:
88
template:
99
spec:
1010
files:
11+
- content: |
12+
apiVersion: kubelet.config.k8s.io/v1beta1
13+
kind: KubeletConfiguration
14+
evictionHard: |
15+
nodefs.available: "10%"
16+
nodefs.inodesFree: "5%"
17+
imagefs.available: "15%"
18+
memory.available: "100Mi"
19+
imagefs.inodesFree: "10%"
20+
path: /etc/kubernetes/patches/kubeletconfiguration0+strategic.json
21+
permissions: "0600"
1122
- content: |
1223
apiVersion: kubelet.config.k8s.io/v1beta1
1324
kind: KubeletConfiguration
@@ -28,8 +39,6 @@ spec:
2839
nodeRegistration:
2940
kubeletExtraArgs:
3041
cloud-provider: external
31-
eviction-hard: nodefs.available<10%,nodefs.inodesFree<5%,imagefs.available<15%,memory.available<100Mi,imagefs.inodesFree<10%
32-
tls-cipher-suites: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
3342
patches:
3443
directory: /etc/kubernetes/patches
3544
postKubeadmCommands:
@@ -235,6 +244,17 @@ spec:
235244
path: /etc/kubernetes/admin.conf
236245
name: kubeconfig
237246
path: /etc/kubernetes/manifests/kube-vip.yaml
247+
- content: |
248+
apiVersion: kubelet.config.k8s.io/v1beta1
249+
kind: KubeletConfiguration
250+
evictionHard: |
251+
nodefs.available: "10%"
252+
nodefs.inodesFree: "5%"
253+
imagefs.available: "15%"
254+
memory.available: "100Mi"
255+
imagefs.inodesFree: "10%"
256+
path: /etc/kubernetes/patches/kubeletconfiguration0+strategic.json
257+
permissions: "0600"
238258
- content: |
239259
apiVersion: kubelet.config.k8s.io/v1beta1
240260
kind: KubeletConfiguration
@@ -272,16 +292,12 @@ spec:
272292
nodeRegistration:
273293
kubeletExtraArgs:
274294
cloud-provider: external
275-
eviction-hard: nodefs.available<10%,nodefs.inodesFree<5%,imagefs.available<15%,memory.available<100Mi,imagefs.inodesFree<10%
276-
tls-cipher-suites: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
277295
patches:
278296
directory: /etc/kubernetes/patches
279297
joinConfiguration:
280298
nodeRegistration:
281299
kubeletExtraArgs:
282300
cloud-provider: external
283-
eviction-hard: nodefs.available<10%,nodefs.inodesFree<5%,imagefs.available<15%,memory.available<100Mi,imagefs.inodesFree<10%
284-
tls-cipher-suites: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
285301
patches:
286302
directory: /etc/kubernetes/patches
287303
postKubeadmCommands:

hack/examples/overlays/clusterclasses/aws/kustomization.yaml.tmpl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ patches:
6969
- target:
7070
kind: KubeadmControlPlaneTemplate
7171
path: ../../../patches/initialize/kubeadmcontrolplanetemplate/files.yaml
72+
- target:
73+
kind: KubeadmControlPlaneTemplate
74+
path: ../../../patches/initialize/kubeadmcontrolplanetemplate/kubelet-configuration.yaml
7275
- target:
7376
kind: KubeadmControlPlaneTemplate
7477
path: ../../../patches/initialize/kubeadmcontrolplanetemplate/postkubeadmcommands.yaml
@@ -82,6 +85,9 @@ patches:
8285
- target:
8386
kind: KubeadmConfigTemplate
8487
path: ../../../patches/initialize/kubeadmconfigtemplate/files.yaml
88+
- target:
89+
kind: KubeadmConfigTemplate
90+
path: ../../../patches/initialize/kubeadmconfigtemplate/kubelet-configuration.yaml
8591
- target:
8692
kind: KubeadmConfigTemplate
8793
path: ../../../patches/initialize/kubeadmconfigtemplate/postkubeadmcommands.yaml

hack/examples/overlays/clusterclasses/nutanix/kustomization.yaml.tmpl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ patches:
2727
discoverVariablesExtension: "nutanixworkerconfigvars-dv.cluster-api-runtime-extensions-nutanix"
2828

2929
# BEGIN Initialize lists and maps
30+
- target:
31+
kind: KubeadmControlPlaneTemplate
32+
path: ../../../patches/initialize/kubeadmcontrolplanetemplate/kubelet-configuration.yaml
3033
- target:
3134
kind: KubeadmControlPlaneTemplate
3235
path: ../../../patches/initialize/kubeadmcontrolplanetemplate/postkubeadmcommands.yaml
@@ -40,6 +43,9 @@ patches:
4043
- target:
4144
kind: KubeadmConfigTemplate
4245
path: ../../../patches/initialize/kubeadmconfigtemplate/files.yaml
46+
- target:
47+
kind: KubeadmConfigTemplate
48+
path: ../../../patches/initialize/kubeadmconfigtemplate/kubelet-configuration.yaml
4349
- target:
4450
kind: KubeadmConfigTemplate
4551
path: ../../../patches/initialize/kubeadmconfigtemplate/patches.yaml
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Copyright 2025 Nutanix. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
5+
# Some kubelet configuration options are only supported through flags
6+
- op: replace
7+
path: /spec/template/spec/joinConfiguration/nodeRegistration/kubeletExtraArgs
8+
value:
9+
cloud-provider: external
10+
11+
# But most should be set through the KubeletConfiguration object
12+
- op: add
13+
path: /spec/template/spec/files/-
14+
value:
15+
path: /etc/kubernetes/patches/kubeletconfiguration0+strategic.json
16+
permissions: "0600"
17+
content: |
18+
apiVersion: kubelet.config.k8s.io/v1beta1
19+
kind: KubeletConfiguration
20+
evictionHard: |
21+
nodefs.available: "10%"
22+
nodefs.inodesFree: "5%"
23+
imagefs.available: "15%"
24+
memory.available: "100Mi"
25+
imagefs.inodesFree: "10%"
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Copyright 2025 Nutanix. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
5+
# Some kubelet configuration options are only supported through flags
6+
- op: replace
7+
path: /spec/template/spec/kubeadmConfigSpec/initConfiguration/nodeRegistration/kubeletExtraArgs
8+
value:
9+
cloud-provider: external
10+
- op: replace
11+
path: /spec/template/spec/kubeadmConfigSpec/joinConfiguration/nodeRegistration/kubeletExtraArgs
12+
value:
13+
cloud-provider: external
14+
15+
# But most should be set through the KubeletConfiguration object
16+
- op: add
17+
path: /spec/template/spec/kubeadmConfigSpec/files/-
18+
value:
19+
path: /etc/kubernetes/patches/kubeletconfiguration0+strategic.json
20+
permissions: "0600"
21+
content: |
22+
apiVersion: kubelet.config.k8s.io/v1beta1
23+
kind: KubeletConfiguration
24+
evictionHard: |
25+
nodefs.available: "10%"
26+
nodefs.inodesFree: "5%"
27+
imagefs.available: "15%"
28+
memory.available: "100Mi"
29+
imagefs.inodesFree: "10%"

0 commit comments

Comments
 (0)