高可用 Kubernetes 集群能够确保应用程序在运行时不会出现服务中断,这也是生产的需求之一。为此,有很多方法可供选择以实现高可用。本教程演示了如何配置 Keepalived 和 HAproxy 使负载均衡、实现高可用。步骤如下:
- 准备主机。
- 配置 Keepalived 和 HAproxy。
- 使用 KubeKey 创建 Kubernetes 集群。
集群架构
示例集群有三个主节点,三个工作节点,两个用于负载均衡的节点,以及一个虚拟 IP 地址。本示例中的虚拟 IP 地址也可称为“浮动 IP 地址”。这意味着在节点故障的情况下,该 IP 地址可在节点之间漂移,从而实现高可用。
集群架构
请注意,在本示例中,Keepalived 和 HAproxy 没有安装在任何主节点上。但您也可以这样做,并同时实现高可用。然而,配置两个用于负载均衡的特定节点(您可以按需增加更多此类节点)会更加安全。这两个节点上只安装 Keepalived 和 HAproxy,以避免与任何 Kubernetes 组件和服务的潜在冲突。
准备主机
IP 地址 |
主机名 |
角色 |
192.168.1.241 |
lb1 |
Keepalived & HAproxy |
192.168.1.242 |
lb2 |
Keepalived & HAproxy |
192.168.1.243 |
master1 |
master, etcd,worker |
192.168.1.244 |
master2 |
master, etcd,worker |
192.168.1.245 |
master3 |
master, etcd,worker |
192.168.250 |
虚拟 IP 地址 |
操作系统基础配置
(1) 配置主机名:
hostnamectl hostname master1