如果ı无法正确解释,可能很难解释,抱歉。
在我们的k8s集群中,我们有两个OpenStack-Load Balancer,因为我们想通过必须面向Internet的入口来公开我们的应用程序。在同一群集中,我们还部署了必须面向Intranet的pgadmin4。(只能从内部网络访问。)
因此在这些OpenStack-LB前面,我们还有f5负载平衡器,它处理https连接,ssl ..以及通过Intranet或Internet公开的逻辑。
MyApp面向互联网,需要通过host.internet.net可以访问
PgAdmin4是Intranet,需要通过host.intranet.net/pgadmin4进行访问
所以问题是,当我尝试使用host.internet.net通过入口公开我的应用程序时,它将无法正常工作,并且收到以下错误消息,原因可能是它无法与正确的openStack-LB通信。当我试图通过openStack-lb IP公开所有内容时,一切正常。
{“级别”:“错误”,“消息”:“找不到以下服务 dev / oneapihub-ui-dev“,”时间“:” 2020-03-26T05:20:05Z“} {“ level”:“错误”,“ msg”:“找不到端点 dev / oneapihub-ui-dev“,”时间“:” 2020-03-26T05:20:05Z“}
问题是,如何通过入口控制器处理此问题?我应该安装另一个traefik入口控制器吗?
capel0068340585:~ semural$ kubectl get ingress -n ingress
NAME HOSTS ADDRESS PORTS AGE
ingress-traefik-dashboard * 80 21d
kubectl get tenantSpec -o yaml
loadBalancers:
- ip: <IP1>
name: LBaaS2
ports:
- extPort: 80
name: "80"
nodePort: 30001
- ip: <IP2>
name: LBaaS1
ports:
- extPort: 80
name: "80"
nodePort: 30000
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/oneapihub-ui-dev ClusterIP 10.254.173.130 <none> 80/TCP 15m
NAME ENDPOINTS AGE
endpoints/oneapihub-ui-dev 10.6.24.136:3000 15m
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: traefik
hosts:
- host: host.internet.net -> example
paths: [/]
tls: []
ingress:
enabled: ingress
annotations:
kubernetes.io/ingress.class: traefik
hosts:
- host: host.intranet.net
paths:
- /pgadmin4