Istio 限制对 Google 云资源的访问

Istio limit access to Google cloud resources

我有一个服务 运行 o Google 容器引擎 (Kubernetes)。它访问 Google 云存储并且工作正常。

在同一个 Kubernetes 集群上,我安装了 Istio 0.1 https://istio.io/v-0.1/docs/tasks/installing-istio.html

我通过 kube-inject 部署我的服务 kubectl create -f <(istioctl kube-inject -f myservice.yaml) 但是现在我的服务无法再访问 Google Cloud Storage。我收到以下错误消息:

java.lang.IllegalArgumentException: A project ID is required for this service but could not be determined from the builder or the environment. Please set a project ID using the builder.

对我来说,看起来 kube-inject 和 sidecar 做了一些事情,所以我的服务无法访问我 运行 所在的 google 云项目的信息。据我所知是边车是唯一的区别。

在没有 kube-inject 的情况下部署时服务仍然有效。

什么会导致这种影响?

您可能想要配置对外部服务的访问,如 Enabling Egress Traffic 中所述:作为 Kubernetes 外部服务或使用 istioctl --includeIPRanges 将外部流量排除在 Istio 的控制之外。