mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-08 03:33:56 +00:00
Rework cluster/ kube-proxy setup for --proxy-mode
This commit is contained in:
parent
fdf22533a8
commit
2055a490e8
39
cluster/gce/gci/configure-helper.sh
Normal file → Executable file
39
cluster/gce/gci/configure-helper.sh
Normal file → Executable file
@ -1753,24 +1753,29 @@ function prepare-kube-proxy-manifest-variables {
|
||||
if [[ -n "${FEATURE_GATES:-}" ]]; then
|
||||
params+=" --feature-gates=${FEATURE_GATES}"
|
||||
fi
|
||||
if [[ "${KUBE_PROXY_MODE:-}" == "ipvs" ]];then
|
||||
# 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 '%s\n4.18\n' "${kernel_version}" | sort -V | tail -1) == "4.18" ]]; then
|
||||
conntrack_module="nf_conntrack_ipv4"
|
||||
fi
|
||||
|
||||
if sudo modprobe -a ip_vs ip_vs_rr ip_vs_wrr ip_vs_sh ${conntrack_module}; then
|
||||
params+=" --proxy-mode=ipvs"
|
||||
else
|
||||
# If IPVS modules are not present, make sure the node does not come up as
|
||||
# healthy.
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
params+=" --iptables-sync-period=1m --iptables-min-sync-period=10s --ipvs-sync-period=1m --ipvs-min-sync-period=10s"
|
||||
case "${KUBE_PROXY_MODE:-iptables}" in
|
||||
iptables)
|
||||
params+=" --proxy-mode=iptables --iptables-sync-period=1m --iptables-min-sync-period=10s"
|
||||
;;
|
||||
ipvs)
|
||||
# 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 '%s\n4.18\n' "${kernel_version}" | sort -V | tail -1) == "4.18" ]]; then
|
||||
conntrack_module="nf_conntrack_ipv4"
|
||||
fi
|
||||
|
||||
if ! sudo modprobe -a ip_vs ip_vs_rr ip_vs_wrr ip_vs_sh ${conntrack_module}; then
|
||||
# If IPVS modules are not present, make sure the node does not come up as
|
||||
# healthy.
|
||||
exit 1
|
||||
fi
|
||||
params+=" --proxy-mode=ipvs --ipvs-sync-period=1m --ipvs-min-sync-period=10s"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ -n "${KUBEPROXY_TEST_ARGS:-}" ]]; then
|
||||
params+=" ${KUBEPROXY_TEST_ARGS}"
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user