出口 Istio 规则将不起作用
Egress Istio rule won't work
我有一个部署 istio 被注入,可以访问 google 地图距离矩阵 api。如果我 运行 istioctl kube-inject 与 --includeIPRanges 10.0.0.0/8
它似乎工作。如果我删除此标志并改为应用出口规则,它将不起作用:
apiVersion: config.istio.io/v1alpha2
kind: EgressRule
metadata:
name: google-egress-rule
namespace: microservices
spec:
destination:
service: "maps.googleapis.com"
ports:
- port: 443
protocol: https
- port: 80
protocol: http
部署和出口规则都在同一个命名空间(微服务)中。
知道我的错在哪里吗?
据我所见 运行 curl maps.googleapis.com
,它重定向到 https://developers.google.com/maps/。
这里有两个问题:
- 您已为
developers.google.com
指定额外的 EgressRule
- 目前您必须通过向端口 443 发出 http 请求来访问 https 外部站点,例如
curl http://developers.google.com/maps:443
。 Istio 代理将为您打开到 developers.google.com
的 https 连接。不幸的是,目前没有其他方法可以做到这一点,除了使用 --includeIPRanges
.
我有一个部署 istio 被注入,可以访问 google 地图距离矩阵 api。如果我 运行 istioctl kube-inject 与 --includeIPRanges 10.0.0.0/8
它似乎工作。如果我删除此标志并改为应用出口规则,它将不起作用:
apiVersion: config.istio.io/v1alpha2
kind: EgressRule
metadata:
name: google-egress-rule
namespace: microservices
spec:
destination:
service: "maps.googleapis.com"
ports:
- port: 443
protocol: https
- port: 80
protocol: http
部署和出口规则都在同一个命名空间(微服务)中。
知道我的错在哪里吗?
据我所见 运行 curl maps.googleapis.com
,它重定向到 https://developers.google.com/maps/。
这里有两个问题:
- 您已为
developers.google.com
指定额外的 EgressRule
- 目前您必须通过向端口 443 发出 http 请求来访问 https 外部站点,例如
curl http://developers.google.com/maps:443
。 Istio 代理将为您打开到developers.google.com
的 https 连接。不幸的是,目前没有其他方法可以做到这一点,除了使用--includeIPRanges
.