部署一套完整的企业级高可用K8s集群
Master节点主要有三个服务kube-apiserver、kube-controller-manager和kube-scheduler,其中kube-controller-manager和kube-scheduler组件自身通过选择机制已经实现了高可用,所以Master高可用主要针对kube-apiserver组件,而该组件是以HTTP API提供服务,因此对他高可用与Web服务器类似,对其负载均衡即可,并且可水平扩容,但是当Master节点有增减时,如何动态配置Node节点上的负载均衡器成为了另外一个需要解决的问题,负载均衡器本身就是一个单点故障隐患,所以这里使用keepalived。
准备环境
3台Master(192.168.2.58、192.168.2.59、192.168.2.60)
3台Node(192.168.2.158、168.168.2.159、192.168.2.160)
Master最小硬件配置:2核CPU、2G内存、20G硬盘
Node最小配置:1核CPU、1G内存、20G硬盘
方法
- 企业环境可以使用使用Ansible Playbook一键部署,但是个人配置不建议使用,方法太过简单,无法掌握其中内部机制。
官方项目地址