クベル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モジュールを開いていることを確認します。
    [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は安定しています。