在kubernetes中使用IPVS
2019-12-28 本文已影响0人
jerry的技术与思维
一、修复内核网络参数
cat >> /etc/sysctl.conf << EOF
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF
sysctl -p
二、安装IPVS工具并加载IPVS模块
yum -y install ipvsadm ipset
# 临时生效
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
# 永久生效
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF
# to check loaded modules, use
lsmod | grep -e ipvs -e nf_conntrack_ipv4
三、在kubernetes中使用ipvs代替iptables
# 修改kube-proxy mode
kubectl edit cm kube-proxy -n kube-system
找到 mode字段,默认为“”,修改为 ipvs
删除所有的 标签为kube-proxy的 po实例,k8s会自动按新的配置安装新的kube-proxy
kubectl delete pod -l k8s-app=kube-proxy -n kube-system
至此,ipvs在kubernetes中安装完成。