クベルnetes 1.11.0バージョンのインストール
パッケージの住所:http://sealyun.com/pro/products/ master上:cd shell&shinit.sh&shmaster.sh node上:cd shell&shinit.sh .nodeでマスター出力のジョイン命令を実行すればいいです。(命令を忘れました。これを使って確認できます。クベドtoken create-print-jin-command) 今回のパッケージの更新内容は、crictlを追加しました。そうでないと、kubeadmを使ってクラスタをインストールしてipvsモードを追加できません。
クベルnetesはipvsを有効にします。
カーネルがipvsモジュールを開いていることを確認します。
ここでは皆さんにipvsを使うことをお勧めします。iptablesは問題があってデバッグしにくいです。そしてルールが多いと性能が著しく低下します。ルールが無くなることもあります。ipvsは安定しています。
クベルnetesは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
ロード方式が開けられていません。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ツールのインストールyum install -y ipvsadm
service ipvsの設定を確認します。[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などはすでに配置されています。確認してください。[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])
はい、全部OKです。ここでは皆さんにipvsを使うことをお勧めします。iptablesは問題があってデバッグしにくいです。そしてルールが多いと性能が著しく低下します。ルールが無くなることもあります。ipvsは安定しています。