IPVS负载在kubernetes1.11版本中纳为GA,对于负载均衡和会话保持了来说,进入了一个新的阶段。官方对于IPVS是以博客的方式加以介绍,对IPVS的具体配置却没有详细说明,这让新使用IPVS的用户感到茫然。
下面根据官网的介绍和自己实践,记录如下(centos7,注意基于1.11.1,否则有ipset创建失败问题)。
会有ouyoiyui 1)安装IPVS软件
yum install -y ipvsadm
2)IPVS的内核开启。
运行命令
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
3)检查加载结果
运行命令:
lsmod|grep ip_vs
结果为:
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 9 ip_vs,nf_nat,nf_nat_ipv4,nf_nat_ipv6,xt_conntrack,nf_nat_masquerade_ipv4,nf_conntrack_netlink,nf_conntrack_ipv4,nf_conntrack_ipv6
libcrc32c 12644 4 xfs,ip_vs,nf_nat,nf_conntrack
4)配置集群初始化文件,启动IPVS
apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
api:
advertiseAddress: 192.168.121.163
networking:
podSubnet: 10.244.0.0/16
kubernetesVersion: "v1.10.0"
kubeProxy:
config:
mode: "ipvs"
ipvs:
scheduler: sh(源地址方式)
5)初始化集群,则IPVS启动。