kubernetes啓用ipvs

原文地址html

k8s離線安裝廣告node

kubernetes啓用ipvs

確保內核開啓了ipvs模塊工具

[root@k8s ~]# lsmod|grep ip_vs
ip_vs_sh               12688  0
ip_vs_wrr              12697  0
ip_vs_rr               12600  16
ip_vs                 141092  23 ip_vs_rr,ip_vs_sh,xt_ipvs,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  3 ip_vs,nf_nat,nf_conntrack

沒開啓加載方式:post

modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4

1.10以上版本,使用kubeadm安裝的,直接修改kube-proxy configmap便可性能

kubectl edit configmap kube-proxy -n kube-system
ipvs:
      minSyncPeriod: 0s
      scheduler: ""
      syncPeriod: 30s
    kind: KubeProxyConfiguration
    metricsBindAddress: 127.0.0.1:10249
    mode: "ipvs"                          # 加上這個
    nodePortAddresses: null

看到pod以下信息代表成功調試

[root@k8s ~]# kubectl logs kube-proxy-72lg9 -n kube-system
I0530 03:38:11.455609       1 feature_gate.go:226] feature gates: &{{} map[]}
I0530 03:38:11.490470       1 server_others.go:183] Using ipvs Proxier.
W0530 03:38:11.503868       1 proxier.go:304] IPVS scheduler not specified, use rr by default
I0530 03:38:11.504109       1 server_others.go:209] Tearing down inactive rules.
I0530 03:38:11.552587       1 server.go:444] Version: v1.10.3

安裝ipvsadm工具code

yum install -y ipvsadm

檢查service ipvs配置:server

[root@k8s ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.31.244.239:32000 rr
  -> 192.168.77.9:8443            Masq    1      0          0
TCP  172.31.244.239:32001 rr
  -> 192.168.77.8:3000            Masq    1      0          0
TCP  10.96.0.1:443 rr persistent 10800
  -> 172.31.244.239:6443          Masq    1      0          0
TCP  10.96.0.10:53 rr
  -> 192.168.77.7:53              Masq    1      0          0
  -> 192.168.77.10:53             Masq    1      0          0
TCP  10.96.82.0:80 rr
  -> 192.168.77.8:3000            Masq    1      0          0
TCP  10.96.152.25:8086 rr
  -> 192.168.77.12:8086           Masq    1      0          0
TCP  10.96.232.136:6666 rr

能夠看到咱們的dashboard dns什麼的都已經配置了,能夠驗證一下:htm

[root@k8s ~]# wget https://172.31.244.239:32000 --no-check-certificate
--2018-05-30 16:17:15--  https://172.31.244.239:32000/
正在鏈接 172.31.244.239:32000... 已鏈接。
警告: 沒法驗證 172.31.244.239 的由 「/CN=.」 頒發的證書:
  出現了本身簽名的證書。
    警告: 證書通用名 「.」 與所要求的主機名 「172.31.244.239」 不符。
已發出 HTTP 請求,正在等待迴應... 200 OK
長度:990 [text/html]
正在保存至: 「index.html」

100%[=======================================================================================================================================================>] 990         --.-K/s 用時 0s

2018-05-30 16:17:15 (16.3 MB/s) - 已保存 「index.html」 [990/990])

是通的,徹底okdns

這裏十分推薦你們使用ipvs模式,iptables出了問題很差調試,並且規則一多性能顯著降低,咱們甚至出現規則丟失的狀況,ipvs穩定不少。

相關文章
相關標籤/搜索