使用 KubeKey 内置 HAproxy 创建高可用集群
KubeKey 作为一种集群安装工具,从版本 v1.2.1 开始,提供了内置高可用模式,支持一键部署高可用集群环境。KubeKey 的高可用模式实现方式称作本地负载均衡模式。具体表现为 KubeKey 会在每一个工作节点上部署一个负载均衡器(HAproxy),所有主节点的 Kubernetes 组件连接其本地的 kube-apiserver ,而所有工作节点的 Kubernetes 组件通过由 KubeKey 部署的负载均衡器反向代理到多个主节点的 kube-apiserver 。这种模式相较于专用到负载均衡器来说效率有所降低,因为会引入额外的健康检查机制,但是如果当前环境无法提供外部负载均衡器或者虚拟 IP(VIP)时这将是一种更实用、更有效、更方便的高可用部署模式。
本教程演示了在 Linux 上安装 KubeSphere 时,使用 KubeKey 内置高可用模式部署的大体配置。
架构
下图举例展示了内置高可用模式的架构图。有关系统和网络要求的更多信息,请参见多节点安装。
备注
在生产环境中,请确保准备了 6 台 Linux 机器,其中 3 台充当主节点,另外 3 台充当工作节点。
config-sample.yaml 示例
spec:
hosts:
- {name: master1, address: 192.168.0.2, internalAddress: 192.168.0.2, user: ubuntu, password: Testing123}
- {name: master2, address: 192.168.0.3, internalAddress: 192.168.0.3, user: ubuntu, password: Testing123}
- {name: master3, address: 192.168.0.4, internalAddress: 192.168.0.4, user: ubuntu, password: Testing123}
- {name: node1, address: 192.168.0.5, internalAddress: 192.168.0.5, user: ubuntu, password: Testing123}
- {name: node2, address: 192.168.0.6, internalAddress: 192.168.0.6, user: ubuntu, password: Testing123}
- {name: node3, address: 192.168.0.7, internalAddress: 192.168.0.7, user: ubuntu, password: Testing123}
roleGroups:
etcd:
- master1
- master2
- master3
control-plane:
- master1
- master2
- master3
worker:
- node1
- node2
- node3
有关该配置文件中不同字段的更多信息,请参见 Kubernetes 集群配置和多节点安装。
开启内置高可用模式:
spec:
controlPlaneEndpoint:
##Internal loadbalancer for apiservers
internalLoadbalancer: haproxy
domain: lb.kubesphere.local
address: ""
port: 6443
备注
- 开启内置高可用模式,需要将
internalLoadbalancer
字段取消注释。 config-sample.yaml
文件中的address
和port
应缩进两个空格。- 负载均衡器默认的内部访问域名是
lb.kubesphere.local
。
相关文章:
kubesphere3.3|使用 KubeKey 内置 HAproxy 创建高可用集群
为者常成,行者常至
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)