1 2 3 4

基于应用层访问的k8s节点单点ip故障问题

发现问题

基于应用层访问的k8s节点单点ip故障问题

分析问题

k8s只能实现是pod的负载,比如这个节点的pod挂掉了,会在服务器状态正常并且资源足够的节点,会新起一个pod,并且端口不会变,以保证他后续的访问。但是如果服务器k8s节点挂了,并且刚好我们就单点解析到这台服务器上,如果不做一些其他措施。这就基本没戏了,这已经超出k8s的范畴。

解决方案

1、基于四层做LVS+keepalived

k8s 多master节点+多node节点+多etcd节点

 

 

 

2Kubernetes 集群中使用 Traefik 反向代理

(Traefik就是我们下午看到的小老头子)

这个我查阅资料是基于pod的负载。Traefik负载进来的请求和流量分配给每个节点上的pod,实现pod负载。对我们讨论的节点故障好像没有什么用,我接下来继续学习研究一下这个Traefik。

Traefik文档:https://docs.traefik.io/

Traefik+k8s文档:https://www.jianshu.com/p/15ffd0ee0a87

3、基于七层做nginx负载均衡+keepalived双机热备

 

 

 

4、利用kubeadm部署方式,master节点同时作为keepalived服务器。

这种方式我咨询了几个学友好像不太好维护,用的人很少,大部分人用的都是比较常见、传统的高可负载

 

 

 

 

 

 

controlPlaneEndpoint: "192.168.1.222:6443" 可以指定。这种方式也得用nginx做一下转发。

总结

我觉得最合适的方式是用两台服务器做七层nginx+keepalived,适合网站,即传统也比较容易维护。

 

posted @ 2021-06-23 11:07  wangzuoli  阅读(333)  评论(0编辑  收藏  举报