带有云提供商的Kubernetes-如何使用Loadbalancers将SSH传输路由到服务



我正在尝试构建一个Kubernetes集群,以允许多网站测试,具有多个数据库引擎、多个php版本、多个依赖项、多个前端堆栈。。。

所以,我的目标是建立类似的东西:

基础架构架构

当使用ingress nginx时,我的云提供商会给我一个LoadBalancer IP。

我能够部署ingress nginx,使用ingress主机规则将我的http/https trafic路由到正确的服务。

现在,我希望能够通过SSH在端口2022上连接到具有负载均衡器ip的project1_SSH服务,并在端口2023上连接到带有相同负载平衡器ip的project2_SSH服务。

我能做到吗?我确信ingress nginx会允许我这么做。

我成功地连接到了我的ssh服务,声明了这种服务:

kind: Service
apiVersion: v1
metadata:
name: ssh-service
spec:
selector:
app: project1
ports:
- port: 2300
targetPort: 23
type: LoadBalancer

但这样做会创建一个新的负载均衡器IP,并为云提供商带来新的账单。

我希望只有一个LoadBalancer服务。

有什么建议吗?

这个想法是运行大约50个网站,每个网站都在一个吊舱中。

好的,我终于删除了ingress nginx,并切换到Traefik-V2,我实现了我想要的。


现在我将尝试弄清楚SNI是否可以让它变得更加简单(所有ssh服务都有一个相同的端口,但我的ssh请求中调用的主机将用于将连接路由到集群内的正确服务。

https://kupczynski.info/2019/05/21/traefik-sni.html

会让你知道它是否最终工作

最新更新