开发者社区> 问答> 正文

GKE / Istio:外部世界无法连接到私有集群中的服务

k8s小能手 2019-02-22 15:48:35 472

我通过云控制台UI创建了一个带有Istio的私有GKE集群。该群集使用VPC Peering进行设置,以便能够访问另一个Google Cloud Project中的另一个私有GKE群集。

我website在staging命名空间中使用Kubernetes中的服务创建了一个部署(调用)。我的目标是使用Envoy代理使用Istio将此服务公开给外部世界。我创建了必要VirtualService和Gateway这样做,下面这个指南。

当运行“kubectl exec ...”访问私有群集中的pod时,我可以成功连接到服务的内部IP地址website,并使用“curl”查看该服务的输出。

我已经设置了NAT网关,因此私有群集中的pod可以连接到Internet。我通过pod中的curl各种非Google网页确认了这一点website。

然而,我无法连接到website从外部服务,使用External IP所述的istio-ingressgateway服务,如上面所述引导提到。相反,curl-ing External IP导致超时。

我已将所有相关资源的完整YAML配置放在私有要点中,例如:https://gist.github.com/marceldegraaf/0f36ca817a8dba45ac97bf6b310ca282

我想知道我的配置中是否遗漏了某些东西,或者我的用例实际上是不可能的?

Kubernetes 测试技术 Perl 容器
分享到
取消 提交回答
全部回答(1)
  • k8s小能手
    2019-07-17 23:29:10

    从验证所有选项,将具有Istio的私有GKE集群暴露给外部的唯一方法是使用云NAT。

    由于GKE中的主节点是托管服务,因此在将Istio与私有群集一起使用时存在当前限制。完成您的用例的唯一解决方法是使用Cloud NAT。

    0 0
+ 订阅

云原生时代,是开发者最好的时代

推荐文章
相似问题
推荐课程