• 安装部署
  • Kubekey v1.2.0-alpha.1 高可用模式部署 K8s + KubeSphere

Kubekey v1.2.0-alpha.1 版本开始内置了 haproxy 作为负载均衡器,用户无需提前准备 haproxy+keepalive 等方式的负载均衡器,即可快速部署高可用的 kubernetes 集群。

架构

Kubekey 采用的高可用方式称作”本地负载均衡“。每台 master 节点的 kubelet 连接本地启动的 apiserver。每台 worker 节点部署了一个 haproxy 对所有 master 节点的 apiserver 地址进行代理,worker 的 kubelet 通过 https://127.0.0.1:{{ 端口号 }} 这个地址连接本地的 haproxy 进而根据“最少连接”策略被转发到其中一个 master 节点的 apiserver。

使用方式

  1. 获取 Kubekey v1.2.0-alpha.1, 以 amd64 为例:
curl -OL https://github.com/kubesphere/kubekey/releases/download/v1.2.0-alpha.1/kubekey-v1.2.0-alpha.1-linux-amd64.tar.gz

tar -zxvf kubekey-v1.2.0-alpha.1-linux-amd64.tar.gz
  1. 创建 Kubekey 的 config 文件:
./kk create config --with-kubesphere v3.1.0
  1. 编辑config文件:
# 集群主机信息自行填写,并开启如下的注释
controlPlaneEndpoint:
  ##Internal loadbalancer for apiservers
  internalLoadbalancer: haproxy

  domain: lb.kubesphere.local
  address: ""
  port: 6443
  1. 开始创建集群,并等待集群创建完毕:
./kk create cluster -f config-sample.yaml
  1. 查看结果:
[root@master1 ~]# kubectl get po -A -o wide | grep haproxy

kube-system   haproxy-node1                              1/1     Running   0          3m32s   192.168.0.8   node1

通过以下命令检查 kubelet 与 apiserver 的连接:

[root@node1 ~]# netstat -antpl  |grep kubelet

tcp        0      0 127.0.0.1:10248         0.0.0.0:*               LISTEN      13730/kubelet
tcp        0      0 127.0.0.1:35103         0.0.0.0:*               LISTEN      13730/kubelet
tcp        0      0 127.0.0.1:38840         127.0.0.1:6443          ESTABLISHED 13730/kubelet
tcp6       0      0 :::10250                :::*                    LISTEN      13730/kubelet

登录 web 界面查看 kubesphere:

以上结果表明集群高可用模式部署成功。

    24sama 更改标题为「Kubekey v1.2.0-alpha.1 高可用模式部署 K8s + KubeSphere
    3 个月 后

    24sama 现在 alpha.5 的内置 LB 高可用安装 K8s 集群的功能是否算是 GA 了?

      Feynman

      现在 alpha.5 的内置 LB 高可用安装 K8s 集群的功能是否算是 GA 了?

      是的

        1 个月 后

        24sama 那需要在 KubeSphere 官网加上这篇文档,不然用户不知道。

          官网应更新一下,

          controlPlaneEndpoint:

          ##Internal loadbalancer for apiservers 
          
          internalLoadbalancer: haproxy

          ,这个弄了好久,在配置多个master总是出问题,早看到这个就好了

            6 个月 后

            你使用自签镜像仓库还是harbor仓库搭建的?

            2 年 后

            为什么我搭建完高可用以后,当我用来搭建集群的那台服务器挂了以后,用其它节点登陆不上web界面