Kubernetes 集群,在生产环境,必须实现高可用:
- 实现Master节点及其核心组件的高可用;
- 如果Master节点出现问题的话,那整个集群就失去了控制;
具体的HA示意图:
具体工作原理:
- etcd 集群:etcd集群建议和主集群分开,3个节点允许一个容错,5个节点允许2个容错,根据实际情况进行选择
- master集群: 对master节点来说一般3个节点就够了,主要需要我们做高可用的组件是apiserver,我们可以在前面做一个负载均衡器,比如加一个Nginx,Nginx还可以通过keepalived做高可用,工作节点和客户端通过这个负载均衡器(VIP)和apiserver进行通信
- pod-master保证仅是主master可用,scheduler、controller-manager 在集群中多个实例只有一个工作,其他为备用