我的Kubernetes项目(在GKE上部署)一直在使用Ingress(我将其命名为demo-ingress
)来处理外部HTTP流量,并根据URL路径将流量转发到每个服务(/ node-a,/ node-b) ,/ node-c)
http:// External IP
/ node-a /使用 node-a-service
http:// External IP
/ node-b /使用 node-b-service
http:// External IP
/ node-c /使用 node-c-service
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: demo-ingress
spec:
rules:
- http:
paths:
- path: /node-a/*
backend:
serviceName: node-a-service
servicePort: 80
- path: /node-b/*
backend:
serviceName: node-b-service
servicePort: 80
- path: /node-c/*
backend:
serviceName: node-c-service
servicePort: 80
在此项目上安装Istio-GKE附加组件后,我找不到从istio-ingressgateway重定向或转发流量到我当前的demo-ingress
的方法(如上所示)。根据我的阅读,我必须配置一个新的网关来处理到istio: ingressgateway
的流量,并且已经完成了
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: backend-gateway
spec:
selector:
istio: ingressgateway # use istio default controller
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"
此外,我使用此网关的虚拟服务如下所示。我尝试将所有流量转发到demo-ingress
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: backend-ingress
spec:
hosts:
- "*"
gateways:
- backend-gateway
http:
- route:
- destination:
host: demo-ingress
port:
number: 80
但是,当我尝试卷曲到我的外部IP istio-ingressgateway
时,仍然会收到HTTP 503。我在这里想念什么吗?
答案 0 :(得分:0)
我只是发现我在这里误会了一些东西。