实例分享:如何在架构层面创建一个 kubernetes 的 master 高可靠节点?

时间:2021-05-02

|| 分享者:顾黄亮

在实际使用中,尤其在现网环境下,kubernetes的master节点高可靠方面是非常需要注意的,因为很多关键服务如kube-apiserver、kube-scheduler和kube-controller-manager都依赖于master。

如何在架构层面创建一个高可靠的master节点?配置过程中需要注意哪些点?

有一种比较简单的高可靠方案,技术栈和工具选择也具备通用性,通过keepalived + haproxy来实现,其中keepalived是提供一个VIP,通过VIP关联所有的Master节点;然后haproxy提供端口转发功能。由于VIP还是存在Master的机器上的,默认配置API Server的端口是6443,所以我们需要将另外一个端口关联到这个VIP上,需要做端口的区分,可以使用8443端口。

在实际配置过程中,需要有几个注意的地方,haproxy方面,在bind绑定VIP是对外的端口号,要注意端口占用的情况。balance指定的负载均衡方式是roundrobin方式,默认是source方式,这一点要注意。erver指定的就是实际的Master节点地址以及真正工作的端口号,一定要写全,不能遗漏。keepalived方面,有一个参数是priority,用来决定主次,数字小的是主,数字大的是次。virtual_router_id决定当前VIP的路由号,实际上VIP提供了一个虚拟的路由功能,该VIP在同一个子网内必须是唯一。其中有一个特别需要关注的点,在这个架构中,如果存在多master的情况下,单个master获取vip是需要一定时间,如果同一个时间启动会造成选举冲突,因此多master启动需配置间隔时间。

资料/文章推荐:如何运用 DevOps 工作流部署 k8s 容器化应用程序?| 运维技术岗课程如何进行容器云平台网络架构设计及优化?| 架构师岗课程如何做容器云平台建设需求分析 |架构师岗课程学习容器部署--实际使用和实践容器的第一步 | 运维技术岗课程2020容器云职业技能大赛正式开赛!—— 开放,从容不凡,携手迈进容器应用时代!欢迎关注社区以下 “容器云”技术主题 ,将会不断更新优质资料、文章。


声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章