From 33810a99d9fe0ea7beb7eea2cd2a7f5bc688d2bb Mon Sep 17 00:00:00 2001 From: Antonio Ojea Date: Sat, 21 Mar 2020 11:21:01 +0100 Subject: [PATCH] cluster: ipvs conntrack module vs kernel version We should use 'nf_conntrack' instead of 'nf_conntrack_ipv4' for linux kernel >= 4.19 --- cluster/gce/gci/configure-helper.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cluster/gce/gci/configure-helper.sh b/cluster/gce/gci/configure-helper.sh index 2ac0d176071..0fbfa96205c 100644 --- a/cluster/gce/gci/configure-helper.sh +++ b/cluster/gce/gci/configure-helper.sh @@ -1497,7 +1497,15 @@ function prepare-kube-proxy-manifest-variables { params+=" --feature-gates=${FEATURE_GATES}" fi if [[ "${KUBE_PROXY_MODE:-}" == "ipvs" ]];then - sudo modprobe -a ip_vs ip_vs_rr ip_vs_wrr ip_vs_sh nf_conntrack_ipv4 + # use 'nf_conntrack' instead of 'nf_conntrack_ipv4' for linux kernel >= 4.19 + # https://github.com/kubernetes/kubernetes/pull/70398 + local -r kernel_version=$(uname -r | cut -d\. -f1,2) + local conntrack_module="nf_conntrack" + if [[ $(printf "${kernel_version}\n4.18\n" | sort -V | tail -1) == "4.18" ]]; then + conntrack_module="nf_conntrack_ipv4" + fi + + sudo modprobe -a ip_vs ip_vs_rr ip_vs_wrr ip_vs_sh ${conntrack_module} if [[ $? -eq 0 ]]; then params+=" --proxy-mode=ipvs"