Skip to content

Commit 46327eb

Browse files
Merge pull request #3381 from openshift-cherrypick-robot/cherry-pick-3375-to-release-4.11
[release-4.11] OCPBUGS-2730: Add ephemeral storage to kubelet system reserved args
2 parents 1b6baee + 8bf71f7 commit 46327eb

12 files changed

Lines changed: 28 additions & 15 deletions

File tree

pkg/controller/kubelet-config/helpers.go

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ func createNewKubeletDynamicSystemReservedIgnition(autoSystemReserved *bool, use
2929
var autoNodeSizing string
3030
var systemReservedMemory string
3131
var systemReservedCPU string
32+
var systemReservedEphemeralStorage string
3233

3334
if autoSystemReserved == nil {
3435
autoNodeSizing = "false"
@@ -48,7 +49,15 @@ func createNewKubeletDynamicSystemReservedIgnition(autoSystemReserved *bool, use
4849
systemReservedCPU = "500m"
4950
}
5051

51-
config := fmt.Sprintf("NODE_SIZING_ENABLED=%s\nSYSTEM_RESERVED_MEMORY=%s\nSYSTEM_RESERVED_CPU=%s\n", autoNodeSizing, systemReservedMemory, systemReservedCPU)
52+
if val, ok := userDefinedSystemReserved["ephemeral-storage"]; ok {
53+
systemReservedEphemeralStorage = val
54+
} else {
55+
systemReservedEphemeralStorage = "1Gi"
56+
}
57+
58+
config := fmt.Sprintf("NODE_SIZING_ENABLED=%s\nSYSTEM_RESERVED_MEMORY=%s\nSYSTEM_RESERVED_CPU=%s\nSYSTEM_RESERVED_ES=%s\n",
59+
autoNodeSizing, systemReservedMemory, systemReservedCPU, systemReservedEphemeralStorage)
60+
5261
r := ctrlcommon.NewIgnFileBytesOverwriting("/etc/node-sizing-enabled.env", []byte(config))
5362
return &r
5463
}
@@ -354,6 +363,11 @@ func generateKubeletIgnFiles(kubeletConfig *mcfgv1.KubeletConfig, originalKubeCo
354363
delete(specKubeletConfig.SystemReserved, "cpu")
355364
}
356365

366+
if val, ok := specKubeletConfig.SystemReserved["ephemeral-storage"]; ok {
367+
userDefinedSystemReserved["ephemeral-storage"] = val
368+
delete(specKubeletConfig.SystemReserved, "ephemeral-storage")
369+
}
370+
357371
// FeatureGates must be set from the FeatureGate.
358372
// Remove them here to prevent the specKubeletConfig merge overwriting them.
359373
specKubeletConfig.FeatureGates = nil

templates/common/_base/files/kubelet-auto-node-sizing-enabled.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ contents:
44
inline: |
55
NODE_SIZING_ENABLED=false
66
SYSTEM_RESERVED_MEMORY=1Gi
7-
SYSTEM_RESERVED_CPU=500m
7+
SYSTEM_RESERVED_CPU=500m
8+
SYSTEM_RESERVED_ES=1Gi

templates/common/_base/files/kubelet-auto-sizing.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,19 +81,21 @@ contents:
8181
rm -f ${NODE_SIZES_ENV}
8282
dynamic_memory_sizing
8383
dynamic_cpu_sizing
84+
echo "SYSTEM_RESERVED_ES=$1" >> ${NODE_SIZES_ENV}
8485
#dynamic_ephemeral_sizing
8586
#dynamic_pid_sizing
8687
}
8788
function static_node_sizing {
8889
rm -f ${NODE_SIZES_ENV}
8990
echo "SYSTEM_RESERVED_MEMORY=$1" >> ${NODE_SIZES_ENV}
9091
echo "SYSTEM_RESERVED_CPU=$2" >> ${NODE_SIZES_ENV}
92+
echo "SYSTEM_RESERVED_ES=$3" >> ${NODE_SIZES_ENV}
9193
}
9294
9395
if [ $1 == "true" ]; then
94-
dynamic_node_sizing
96+
dynamic_node_sizing $4
9597
elif [ $1 == "false" ]; then
96-
static_node_sizing $2 $3
98+
static_node_sizing $2 $3 $4
9799
else
98100
echo "Unrecongnized command line option. Valid options are \"true\" or \"false\""
99101
fi

templates/common/_base/units/kubelet-auto-node-size.service.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ contents: |
1111
Type=oneshot
1212
RemainAfterExit=yes
1313
EnvironmentFile=/etc/node-sizing-enabled.env
14-
ExecStart=/bin/bash /usr/local/sbin/dynamic-system-reserved-calc.sh ${NODE_SIZING_ENABLED} ${SYSTEM_RESERVED_MEMORY} ${SYSTEM_RESERVED_CPU}
14+
ExecStart=/bin/bash /usr/local/sbin/dynamic-system-reserved-calc.sh ${NODE_SIZING_ENABLED} ${SYSTEM_RESERVED_MEMORY} ${SYSTEM_RESERVED_CPU} ${SYSTEM_RESERVED_ES}
1515
[Install]
1616
RequiredBy=kubelet.service

templates/master/01-master-kubelet/_base/files/kubelet.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ contents:
2323
serializeImagePulls: false
2424
staticPodPath: /etc/kubernetes/manifests
2525
systemCgroups: /system.slice
26-
systemReserved:
27-
ephemeral-storage: 1Gi
2826
featureGates:
2927
APIPriorityAndFairness: true
3028
RotateKubeletServerCertificate: true

templates/master/01-master-kubelet/_base/units/kubelet.service.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ contents: |
4343
--provider-id=${KUBELET_PROVIDERID} \
4444
--register-with-taints=node-role.kubernetes.io/master=:NoSchedule \
4545
--pod-infra-container-image={{.Images.infraImageKey}} \
46-
--system-reserved=cpu=${SYSTEM_RESERVED_CPU},memory=${SYSTEM_RESERVED_MEMORY} \
46+
--system-reserved=cpu=${SYSTEM_RESERVED_CPU},memory=${SYSTEM_RESERVED_MEMORY},ephemeral-storage=${SYSTEM_RESERVED_ES} \
4747
--v=${KUBELET_LOG_LEVEL}
4848

4949
Restart=always

templates/master/01-master-kubelet/alibabacloud/units/kubelet.service.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ contents: |
4242
--provider-id=alicloud://${KUBELET_NODE_NAME} \
4343
--register-with-taints=node-role.kubernetes.io/master=:NoSchedule \
4444
--pod-infra-container-image={{.Images.infraImageKey}} \
45-
--system-reserved=cpu=${SYSTEM_RESERVED_CPU},memory=${SYSTEM_RESERVED_MEMORY} \
45+
--system-reserved=cpu=${SYSTEM_RESERVED_CPU},memory=${SYSTEM_RESERVED_MEMORY},ephemeral-storage=${SYSTEM_RESERVED_ES} \
4646
--v=${KUBELET_LOG_LEVEL}
4747

4848
Restart=always

templates/master/01-master-kubelet/on-prem/units/kubelet.service.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ contents: |
4040
--hostname-override=${KUBELET_NODE_NAME} \
4141
--register-with-taints=node-role.kubernetes.io/master=:NoSchedule \
4242
--pod-infra-container-image={{.Images.infraImageKey}} \
43-
--system-reserved=cpu=${SYSTEM_RESERVED_CPU},memory=${SYSTEM_RESERVED_MEMORY} \
43+
--system-reserved=cpu=${SYSTEM_RESERVED_CPU},memory=${SYSTEM_RESERVED_MEMORY},ephemeral-storage=${SYSTEM_RESERVED_ES} \
4444
--v=${KUBELET_LOG_LEVEL}
4545

4646
Restart=always

templates/worker/01-worker-kubelet/_base/files/kubelet.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ contents:
2323
serializeImagePulls: false
2424
staticPodPath: /etc/kubernetes/manifests
2525
systemCgroups: /system.slice
26-
systemReserved:
27-
ephemeral-storage: 1Gi
2826
featureGates:
2927
APIPriorityAndFairness: true
3028
RotateKubeletServerCertificate: true

templates/worker/01-worker-kubelet/_base/units/kubelet.service.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ contents: |
4242
--hostname-override=${KUBELET_NODE_NAME} \
4343
--provider-id=${KUBELET_PROVIDERID} \
4444
--pod-infra-container-image={{.Images.infraImageKey}} \
45-
--system-reserved=cpu=${SYSTEM_RESERVED_CPU},memory=${SYSTEM_RESERVED_MEMORY} \
45+
--system-reserved=cpu=${SYSTEM_RESERVED_CPU},memory=${SYSTEM_RESERVED_MEMORY},ephemeral-storage=${SYSTEM_RESERVED_ES} \
4646
--v=${KUBELET_LOG_LEVEL}
4747

4848
Restart=always

0 commit comments

Comments
 (0)