无法访问istio服务网格中的api



我正在使用minikube运行服务网格,并尝试使用fortio:访问在minikube之外运行的api

kubectl exec "$FORTIO_POD" -c fortio -- /usr/bin/fortio load -c 1 -qps 0 -n 1 -loglevel debug http://localhost:3000

但这给了我一个错误:

dial tcp 127.0.0.1:3000: connect: connection refused

下面是我创建的服务条目和destinationRule对象:

apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: localhost
spec:
hosts:
- localhost
location: MESH_EXTERNAL
ports:
- number: 3000
name: http
protocol: HTTP
resolution: STATIC
endpoints:
- address: 127.0.0.1
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: localhost
spec:
host: localhost
trafficPolicy:
tls:
mode: DISABLE
sni: localhost.local

我相信您在这里尝试的是从Minikube中访问托管在主机系统中的API。您不能期望仅通过在istio中创建localhost服务条目来连接到主机系统。对于minikube主机访问,您需要使用host.minikube.internal

请参阅此链接:https://minikube.sigs.k8s.io/docs/handbook/host-access/

最新更新