gitboy123
kubersphere默认的方式就是像你说的,每个namespace启用一个网关路由,也就是一份ingress-controller,正常,如果直接在当前namespace中暴露服务,那么核心思路就是将该namespace下的ingress-controller的service修改为LoadBa’lan’ce方式,添加阿里云s’l’b ID即可,当然需要安装阿里云插件,这部分文档,我看上面的回复都有;
这样有个问题,你有很多namespace就需要很多ingress-controller和SLB,会比较浪费资源,我这边的处理思路是自建ingress-controller来暴露整个集群的服务,然后也不安装阿里云的s’l’b插件,自建ingress-controller暴露nodeport,在阿里云s’l’b测配置80,443 tcp代理即可,简单粗暴;
自建ingress-controller的文档网上有很多很多,k’k安装的kubernetes集群与其他并无区别;
自建ingress-controller可以用官方nginx,也可以用apisix-ingress-controller,也可以用treafik;这个本身不影响kubesphere的使用,也不会对集群造成什么影响,多个对外暴露的方式是可以共存的;