k8s搭建高可用集群

  • Post author:
  • Post category:其他




在三台k8s master节点上配置Keepalived 和 HAproxy高可用

1、在三个 Kubernetes 主节点上安装 Keepalived 和 HAproxy。

2、配置 Keepalived 的主配置文件 /etc/keepalived/keepalived.conf。该配置文件应包括以下内容:

global_defs {
   router_id kube-router
}

vrrp_script haproxy-check {
   script "killall -0 haproxy"
   interval 2
   weight 2
}

vrrp_instance VI_1 {
   interface eth0
   state MASTER
   priority 101
   virtual_router_id 51
   unicast_src_ip <master1-ip>
   unicast_peer {
      <master2-ip>
      <master3-ip>
   }
   authentication {
      auth_type PASS
      auth_pass password
   }
   virtual_ipaddress {
      <haproxy-virtual-ip>
   }
   track_script {
      haproxy-check
   }
}

该配置文件将配置一个名为 VI_1 的 VRRP 实例,并指定其中一个 Kubernetes 主节点作为 MASTER,另外两个节点作为 BACKUP。VRRP 实例还配置了一个 haproxy-check 脚本来检查 HAproxy 进程的运行状况。此外,virtual_ipaddress 部分将指定 HAproxy 的虚拟 IP 地址,它将被用于向客户端提供服务。

3、在每个 Kubernetes 主节点上配置 HAproxy,例如 /etc/haproxy/haproxy.cfg。该配置文件应包括以下内容:

global
   log 127.0.0.1 local0 notice
   maxconn 4096
   user haproxy
   group haproxy

defaults
   log global
   mode tcp
   option tcplog
   option dontlognull
   option redispatch
   retries 3
   timeout client 50s
   timeout server 50s
   timeout connect 5s

frontend k8s-frontend
   bind <haproxy-virtual-ip>:6443
   mode tcp
   default_backend k8s-backend

backend k8s-backend
   mode tcp
   balance roundrobin
   server k8s-master-1 <master1-ip>:6443 check inter 1000
   server k8s-master-2 <master2-ip>:6443 check inter 1000
   server k8s-master-3 <master3-ip>:6443 check inter 1000

该配置文件将配置一个名为 k8s-frontend 的 HAproxy 前端,该前端将绑定到 HAproxy 的虚拟 IP 地址和端口 6443 上。它还配置了一个名为 k8s-backend 的 HAproxy 后端,该后端将负载均衡到三个 Kubernetes 主节点的 IP 地址上。

4、在每个 Kubernetes 主节点上启动 Keepalived 和 HAproxy 服务,并验证服务是否正常运行。

以上就是在三个 Kubernetes 主节点上配置 Keepalived 和 HAproxy 高可用的步骤。请注意,在配置过程中需要将 、、 和 替换为适当的值,以便与您的环境匹配。此外,建议您在配置之前备份重要的配置文件,以便在出现问题时进行恢复。

在配置完成后,您可以通过以下方式测试高可用性:

1、在当前主节点上停止 HAproxy 服务并验证是否有其他节点接管了服务。

2、在当前主节点上停止 Keepalived 服务并验证是否有其他节点接管了虚拟 IP 地址。

3、在当前主节点上停止 kube-apiserver 服务并验证是否可以从其他节点访问 Kubernetes API。

如果所有测试都通过,则说明您已成功配置了 Kubernetes 主节点上的 Keepalived 和 HAproxy 高可用。



以前的

# 选两个节点安装 Keepalived 和 HAproxy
yum install keepalived haproxy psmisc -y
# 在这两台机器上修改配置文件
vi /etc/haproxy/haproxy.cfg
# 只需要修改最后这里,两台机器都这样改 6443 是 apiserver 端口
backend app
    balance     roundrobin
    server app-1 10.110.159.15:6443 check
    server app-2 10.110.159.16:6443 check
 
 
systemctl restart haproxy
systemctl enable haproxy
 
# Keepalived
vi /etc/keepalived/keepalived.conf
# 注意修改注释部分 两台机器的 src ip 和 peer ip 对调
  interface eno1                  # Network card
 
  unicast_src_ip 10.110.159.15     # The IP address of this machine
 
  unicast_peer {
 
    10.110.159.16       # The IP address of peer machines
  }
  virtual_ipaddress {
 
    10.110.159.25/24      # The VIP address
 
  }
 
systemctl restart keepalived
systemctl enable keepalived


接下来kubesphere 安装地址



版权声明:本文为qq_41834780原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。