在Kubernetes系统中,Master节点扮演着总控中心的角色,通过不间断地与各个工作节点(Node)通信来维护整个集群的健康工作状态,集群中各资源对象的状态则被保存在etcd数据库中。
在正式环境中应确保Master的高可用,并启用安全访问机制,至少包括以下几方面。
- Master的
kube-apiserver
、kube-controller-mansger
和kube-scheduler
服务至少以3个节点的多实例方式部署 - Master启用基于CA认证的HTTPS安全机制
- Master启用RBAC授权模式
- etcd至少以3个节点的集群模式部署
- etcd集群启用基于CA认证的HTTPS安全机制
Master的高可用部署架构如下图所示:
在Master的3个节点之前,应通过一个负载均衡器提供对客户端的唯一访问入口地址。
负载均衡器以HAProxy搭配Keepalived进行配置。
3台主机的IP地址分别为192.168.3.135
、192.168.3.136
、192.168.3.137
,负载均衡器使用的VIP为192.168.3.100
。
当然,为了保证Master的高可用,同时也需要确保etcd是高可用的。