Docker Kubernetes 高可用架构设计
官方方案:保证master端不发生单点故障。
- 官方使用一台Load Balancer负载均衡代理3台master端,终端与etcd与work Node节点,通过负载均衡的ip进行连接。
- master端的所有信息都会统一保存到etcd的存储内。
详细高可用架构流程
组件流程说明
- master:3台
- Node:3台
- etcd:存储集群
- LB:两台Nginx负载均衡+keepalived高可用
- kubectl:1台 跳板调度器(堡垒机)
1、master端所有的api都统一连接到etcd集群(分别双向通信)
2、master端的调度端与管理端连接到负载均衡服务器
3、kubectl端通过nginx负载均衡vip虚拟IP,将客户端指令装发到master端
注:配置多master时需要添加选举参数选项。
配置文件:/opt/kubernetes/cfg/kube-controller-manager
# 在执行主循环之前,先选举一个leader。高可用性运行组件时启用此功能,默认true
KUBE_LEADER_ELECT="--leader-elect"