我尝试使用openshift路由配置istio入口。据我所知,请求路径如下:
request -> route -> ingress service -> gateway -> virtual service -> app service -> app
kind: Route
...
spec:
host: my-app.com
to:
kind: Service
name: ingress-service
weight: 100
port:
targetPort: http
...
kind: Service
metadata:
name: ingress-service
...
spec:
ports:
- name: status-port
protocol: TCP
port: 15020
targetPort: 15020
- name: http
protocol: TCP
port: 9080
targetPort: 9080
selector:
app: ingressgateway
istio: ingressgateway
type: ClusterIP
kind: Gateway
metadata:
name: ingress-gw
...
spec:
servers:
- hosts:
- my-app.com
port:
name: http
number: 9080
protocol: HTTP
selector:
istio: ingressgateway
kind: VirtualService
...
spec:
hosts:
- my-app.com
gateways:
- ingress-gw
http:
- route:
- destination:
host: my-app
port: 9080
exportTo:
- .
外部暴露的端口号取决于OpenShift上的路由器(HAProxy)pod侦听端口。如果您想要9080端口而不是80,您应该更改路由器(HAProxy)POD上的端口。或者您可以处理LB上的端口号以使用其他端口号。
访问流程如下。
LB(80, 443)
-> Router pod(80, 443)
-> Ingress-Gateway pod
-Through Gateway and VirtualService -> Backend pod
我有一个在kubernetes pod中运行的应用程序(在我的本地docker桌面上,启用kubernetes),监听端口8080。然后我有以下kubernetes配置 这个很好用。但我想把443端口改成其他端口,比如8443(因为我将有多个网关)。当我有这个,我不能再访问应用程序了。是否有一些配置我遗漏了?我猜我需要配置Istio来接受8443端口?我使用以下命令安装了istio: 编辑:我读了
我试图在安装服务网格、网关和应用路由策略后,在我的Istio入口网关上启用HTTPS。最初的Istio安装是使用一个配置文件完成的,该配置文件包括一个istio-ingress网关服务。当我这样做时,它将入口网关创建为,而不是。 我看了这个:https://istio.io/latest/docs/tasks/traffic-management/ingress/secure-ingress/但是
我们的GKE集群共享给公司的多个团队。每个团队可以有不同的公共域(因此希望有不同的CA证书设置和不同的入口网关控制器)。在Istio怎么做?Istio网站上的所有教程/介绍文章都使用了共享入口网关。请参见ISTIO-1.0.0安装的共享入口网关示例:https://istio.io/docs/tasks/traffic-management/secure-ingress/
这起作用了 这不是
当将外部负载平衡器与istio入口网关(分布在不同节点上的多个副本)一起使用时,它如何识别可能命中的istio入口网关,即我可以手动访问任何节点的nodeip:nodeport/endpoint,但外部负载平衡器如何知道所有节点。 这是手动配置的还是负载均衡器从API中使用此信息是否有绕过外部负载均衡器的推荐策略,例如。roundrobin跨知道节点ip/端口的DNS? 这个问题的根源是——我们如
我有一个用于测试本地docker、本地Kubernetes和Istio设置的演示应用程序。最初,我将演示服务公开为type=NodePort,它可以正常工作http://localhost: 部署后,导航到http://localhost/会出现HTTP 404错误。服务、VS、网关在集群上一切看起来都很好。因为我是新来的,我不确定我是否在Istio或库伯内特斯身上错过了一些基本的东西。