Kubernetes ---- Service更改工作模式为ipvs

Service更改工作模式为ipvs

转载至:https://www.jianshu.com/p/d1ba8b910085

当我的集群搭建完成之后,service使用的默认工作模式为iptables,当我查看的时候,IPtables又不太方便查看,排版、内容看起来都比较复杂,所以我尝试使用ipvs,更改Service现在工作模式

而且IPvS有以下好处:

  • IPVS为大型集群提供了更好的可扩展性和性能。
  • IPVS支持比iptables更复杂的负载平衡算法(最小负载,最少连接,位置,加权等)。
  • IPVS支持服务器健康检查和连接重试等。

kube-proxy开启ipvs的前置条件

1. 安装IPvS

# yum -y install ipvsadm ipvsset

ipvs需要加载一些内核模块

  • ip_vs
  • ip_vs_rr
  • ip_vs_wrr
  • ip_vs_sh
  • nf_conntrack_ipv4

2. 在各个节点执行以下脚本:

# 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
#
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4

3. kube-proxy开启ipvs并重启kube-proxy

$ kubectl edit configmap -n kube-system
....
mode: "ipvs"
....
$ kubectl get pod -n kube-system | grep kube-proxy | awk '{system("kubectl delete pod "$1" -n kube-system")}'

4. 此时再像往常一样创建Deployment、Pod、Service之后查看就有ipvs规则了。

 

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
posted @ 2020-06-12 16:40  k-free  阅读(742)  评论(0编辑  收藏  举报