• 安装部署
  • 内网VM虚拟机部署kubephere2.1.1,应用路由的网关IP如何高可用?

我在局域网(不能上互联网)通过VM虚拟机部署了kubephere2.1.1,master3台(192.168.3.202/203/204,虚IP192.168.3.200),node两台(192.168.3.205/206),部署项目后,应用路由设置后,显示的网关IP为192.168.3.205,局域网其他电脑访问我的系统,需在hosts文件增加192.168.3.205 www.test.com才能打开系统

疑问:应用路由网关地址显示的其中一个节点的ip192.168.3.205,如果192.168.3.205这台虚拟机关机了,由于局域网电脑host文件配置的是192.168.3.205 www.test.com,导致局域网电脑打不开系统,存在单点故障问题,要如何解决这个问题?

你的ingress controller service应该是通过NodePort来暴露端口提供服务访问的。
如果你的这个虚机关了,你可以把它设置为集群中其他任意一台的地址。
如果想实现高可用,可以选取其中任意两台,搭建keepalive 虚拟出一个vip,然后把这个vip映射成域名,添加到hosts,可以实现一个简单的高可用。
如果想实现更高级别的高可用,可以另行在网络内找两个主机,搭建keepalive+haproxy,形成一个loadbalancer,然后把集群中所有的主机添加到它的后端,这样高可用性能更高。

    你内网用不了厂商提供的Lb吧?如果能用厂商提供的lb,那就更简单了。资料你在网上搜索下Keepalived+haproxy(nginx&lvs),这样的文档很多。

      zackzhang 能指点下具体怎么配置吗?kubesphere里如何设置lb?负载均衡器如何配置?hosts配置负载的ip地址吗

      你的hosts中不是已经写了一个域名-ip地址的映射吗?你先把这个Ip地址换成集群中的任意一个ip地址,看下是不是都能正常访问,看下效果

        zackzhang hosts文件增加:硬件负载均衡器虚拟的ip www.test.com可以正常打开系统

        就是每台客户端电脑要手动配置有点麻烦

        hkstudio NodePort 不太适合生产环境,你们硬件的负载均衡器是什么?是 F5 还是 Nginx ?相关厂商应该就有方案,在 KubeSphere 只需要将服务暴露类型设置为 Loadbalancer 配置一下 annotation 即可。

          Feynman 深信服负载均衡器,kubesphere设置为loadbalancer,annotation参数要怎么配置?帮忙截图下,谢谢

          我的环境在内网,不能上互联网

          hkstudio Nginx 只能给 KubeSphere (K8s 的 kube-apiserver) 集群本身做高可用,K8s 服务暴露到外网需要负载均衡器插件来实现,KubeSphere 目前针对生产环境有公有云和物理机 K8s 环境的负载均衡器插件。建议你联系深信服或者虚拟化厂商的工程师吧,他们应该有这个针对 K8s 虚拟机环境的负载均衡器插件方案。

          1 个月 后
          4 个月 后

          hkstudio 这个看服务器以及具体业务的,CPU越高,瓶颈来的更晚,我的业务场景下,8C的vm两万多的请求,延时就明显升高了,你可以压测一下