说明
在Kubernetes中Service有两种带来模型:
- 基于iptables的
- 基于ipvs的
两者比较,ipvs的性能明显要高一些,但是如果要使用它,需要手动载入ipvs模块
master 服务器
安装ipset和ipvsadm
yum install ipset ipvsadm -y
添加需要加载的模块
创建 /etc/sysconfig/modules/ipvs.modules 文件并加上内容:
cat <<EOF> /etc/sysconfig/modules/ipvs.modules
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF
为脚本添加执行权限
chmod 777 /etc/sysconfig/modules/ipvs.modules
执行脚本文件
/bin/bash /etc/sysconfig/modules/ipvs.modules
查看模块是否加载成功
lsmod | grep -e ip_vs -e nf_conntrack_ipv4
看到下面提示,说明成功:
nf_conntrack_ipv4 15053 0
nf_defrag_ipv4 12729 1 nf_conntrack_ipv4
ip_vs_sh 12688 0
ip_vs_wrr 12697 0
ip_vs_rr 12600 0
ip_vs 141092 6 ip_vs_rr,ip_vs_sh,ip_vs_wrr
nf_conntrack 133387 2 ip_vs,nf_conntrack_ipv4
libcrc32c 12644 3 xfs,ip_vs,nf_conntrack
node1 服务器
按照上面操作
node2 服务器
按照上面操作
重启服务器
必须重启3台服务器
reboot now