Manage kube-proxy by using IPVS
IPVS (IP Virtual Server) is a beta feature in Kubernetes 1.9.1.
kube-proxy ipvs mode provides benefits such as performance enhancement to kube-proxy, when compared with traditional methods of using iptables and userspace mode.
IPVS running on a host acts as a load balancer at the front of a cluster of real servers. IPVS can direct requests for TCP/UDP based services to the real servers. IPVS can also make services that are running on the real servers appear as a virtual service on a single IP address.
To enable the
kube-proxy ipvs mode, you must set the
kube_proxy_extra_args parameter in the cluster configuration file.
The configuration file for a cluster with
kube-proxy ipvs enabled, might resemble the following output:
## Kubernetes Settings # kube_apiserver_extra_args:  # kube_controller_manager_extra_args:  kube_proxy_extra_args: ["--feature-gates=SupportIPVSProxyMode=true","--proxy-mode=ipvs"]
After installation completes, verify that the IPVS rules are created by completing the following steps:
Review the kube-proxy container log.
[root@testnode ~]# docker ps |grep proxy 6e8b9b058bfc ibmcom/kubernetes@sha256:0a186c019bd7d3a078799a387663da93c162b290b0665d16b229dba7d8f060b7 "/hyperkube proxy ..." 11 minutes ago Up 11 minutes k8s_proxy_k8s-proxy-18.104.22.168_kube-system_97991d33fbaf5606a3a6113337710e27_0 docker logs 6e8b9b058bfc -f ... I0131 13:24:32.282248 1 feature_gate.go:184] feature gates: map[SupportIPVSProxyMode:true] I0131 13:24:32.283828 1 server_others.go:180] Using ipvs Proxier. I0131 13:24:32.284643 1 server_others.go:205] Tearing down inactive rules. I0201 05:31:25.008541 1 server.go:426] Version: v1.11.0+icp-ee ...
Verify that IPVS mode is detected on each cluster node.
The output resembles the following code:
IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 172.17.0.1:31443 rr -> 10.1.20.84:9443 Masq 1 0 0 TCP 172.17.0.1:32292 rr -> 10.1.20.94:3000 Masq 1 0 0 TCP 22.214.171.124:30090 rr -> 10.1.20.80:9090 Masq 1 0 0 TCP 126.96.36.199:30296 rr -> 10.1.20.93:3001 Masq 1 0 0 TCP 188.8.131.52:31443 rr -> 10.1.20.84:9443 Masq 1 0 0 TCP 184.108.40.206:32292 rr ...