一、简介
kube-apiserver 是k8s集群中的核心组件,保障它的高可用性对集群的稳定性起到重要的作用,近期在项目中采用了keepalived+nginx的方案实施了kube-apiserver的高可用,现将方案及配置实施的步骤总结成文。
方案的逻辑架构图如下:
方案的核心是client基于虚IP+代理的端口进行请求访问,nginx将请求基于负载策略转发到实际的apiserver处理,完成请求;在主节点故障时,虚IP会转移到备节点;apiserver实例在故障时,nginx可以将请求转发到运行正常的apiserver实例;逻辑图中满足了最小场景的高可用,也可用通过增加节点来部署虚ip的备节点或apiserver实例等来提高可用性。
主要实施步骤有:
1、部署好节点上的apiserver服务 、keepalived服务、nginx服务等
2、nginx中添加对apiserver的四层代理
3、添加代理地址,重新生成配置及密钥
4、进行高可用测试验证
二、环境准备
1、机器准备
至少准备三个机器节点 ,2个节点做master节点, 1个节点做Node节点,
如
172.20. |