在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中安装完成。

上一篇 下一篇

猜你喜欢

热点阅读