diff --git a/cluster/gce/gci/configure-helper.sh b/cluster/gce/gci/configure-helper.sh index 7dfd2c18a4a..4e22bc84f8e 100644 --- a/cluster/gce/gci/configure-helper.sh +++ b/cluster/gce/gci/configure-helper.sh @@ -1621,7 +1621,13 @@ function start-kubelet { echo "Using kubelet binary at ${kubelet_bin}" local -r kubelet_env_file="/etc/default/kubelet" - local kubelet_opts="${KUBELET_ARGS} ${KUBELET_CONFIG_FILE_ARG:-}" + + local kubelet_cgroup_driver="" + if [[ "${CGROUP_CONFIG-}" == "cgroup2fs" ]]; then + kubelet_cgroup_driver="--cgroup-driver=systemd" + fi + + local kubelet_opts="${KUBELET_ARGS} ${KUBELET_CONFIG_FILE_ARG:-} ${kubelet_cgroup_driver:-}" echo "KUBELET_OPTS=\"${kubelet_opts}\"" > "${kubelet_env_file}" echo "KUBE_COVERAGE_FILE=\"/var/log/kubelet.cov\"" >> "${kubelet_env_file}" @@ -2967,6 +2973,11 @@ function override-kubectl { fi } +function detect-cgroup-config { + CGROUP_CONFIG=$(stat -fc %T /sys/fs/cgroup/) + echo "Detected cgroup config as ${CGROUP_CONFIG}" +} + function override-pv-recycler { if [[ -z "${PV_RECYCLER_OVERRIDE_TEMPLATE:-}" ]]; then echo "PV_RECYCLER_OVERRIDE_TEMPLATE is not set" @@ -3060,6 +3071,13 @@ EOF cni_template_path="" fi fi + + # Use systemd cgroup driver when running on cgroupv2 + local systemdCgroup="false" + if [[ "${CGROUP_CONFIG-}" == "cgroup2fs" ]]; then + systemdCgroup="true" + fi + cat > "${config_path}" <