kubesphere中的网关配置
kubesphere的网配置,官方文档写的非常不清晰,不懂的人根本看不明白,文档上也没有体现如果实现; 我的需求是:我想在集群中使用80或443端口做为外部访问的总入口,其他的service(一些支持http请求的服务)使用ingress路由跳转的形式,就如同kubernetes上安装ingresss,默认80/443端口路由一样,但是kubesphere的网关并不是这样玩的;
网关支持的类型
主要是针对以下两种实现方式:
NodePort方式
LoadBalancer方式
NodePort
NodePort方式相当于使用Ingress 实现对本地集群节点的端口映射,但它使用的不是本地80端口,而是基于Service的NodePort方式,映射一个30000之后的随机端口,这样是很不方便的,甚至都不如直接使用业务的service的nodeport映射更方便;
LoadBalancer
公有云
这个是负载均衡器的配置,如果我们使用公网的lb,当然没问题,公网会分配eip给我们,并且相应的lb配置也会给我们,kubesphere提供了阿里、腾讯、华为、青云等多家的;注意:有一个选项是google kubernetes engine,这个并不是指当前kubernetes集群,我理解指的是google公有云;
私有云
Service直接使用LoadBalancer
这个是官网的例子的形式; 私有云配置就先OpenELB,他是kubesphere官方推荐的,也是他们自己做的; 官网地址:https://openelb.github.io/docs/getting-started/installation/install-openelb-on-kubesphere/ 安装官方有教程,直接在应用商店里默认安装就好; 主要介绍使用: 官方说明:https://openelb.io/docs/getting-started/usage/use-openelb-in-layer-2-mode/ 按这个教程来讲,主要是使用lb直接怼到service上,其中注意以下几个点:
Specify the NIC Used for OpenELB
**Create an Eip Object **
执行:
网关+LoadBalancer+OpenELB
按照这个操作下去,直接把自己的service改成LoadBalancer类型的是没有问题的,但是:如果还想实现kubesphere的网关怎么玩呢? 可以在设置网关的时候,同样把相应的注解写上:
网关的设置

路由的设置 设置完网关,路由就可以正常设置了吗? 当然不是,路由也得这么设置,编辑注解,把上面三行加上就行;

完事后,编辑ymal看一下效果:
设置默认EIP
上面有些麻烦,还有一种把eip设置为默认形式的,但没有试 主要是这句:eip.openelb.kubesphere.io/is-default-eip: "true"
附上链接地址:https://openelb.io/docs/getting-started/configuration/configure-ip-address-pools-using-eip/