首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >GKE/Istio:外部无法连接内网集群的服务

GKE/Istio:外部无法连接内网集群的服务
EN

Stack Overflow用户
提问于 2019-02-20 18:44:17
回答 3查看 1.3K关注 0票数 2

我已经通过云控制台UI与Istio创建了一个私有GKE集群。该集群使用VPC对等设置,以便能够到达另一个Google Cloud Project中的另一个私有GKE集群。

我已经使用Kubernetes中的服务在staging命名空间中创建了一个部署(名为website)。我的目标是使用特使代理,通过Istio向外部世界公开此服务。我已经创建了必要的VirtualServiceGateway,遵循this guide

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

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

但是,正如上面的指南所提到的,我不能使用website服务的External IP从外部连接到istio-ingressgateway服务。相反,curl-ing External IP会导致超时。

我将所有相关资源的完整YAML配置放在一个私有的Gist中,如下所示:https://gist.github.com/marceldegraaf/0f36ca817a8dba45ac97bf6b310ca282

我想知道我在这里的配置中是否遗漏了什么,或者我的用例实际上是不可能的?

EN

回答 3

Stack Overflow用户

发布于 2019-02-20 19:52:55

看看你的要点,我怀疑问题出在Gatewayistio-ingressgateway的连接上。

代码语言:javascript
运行
复制
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: website-gateway
  namespace: staging
  labels:
    version: v1
spec:
  selector:
    istio: ingressgateway
  servers:
    - port:
        number: 80
        name: http
        protocol: HTTP
      hosts:
        - "*"

特别是,我不相信selector部分是正确的。

您应该能够执行以下操作

kubectl describe po -n istio-system istio-ingressgateway-rrrrrr-pppp

找出选择器在Istio Ingress pod中尝试匹配的内容。

票数 0
EN

Stack Overflow用户

发布于 2020-09-27 04:10:50

我也有同样的问题。在我的例子中,istio虚拟服务找不到我的服务。

在你的VirtualService上试试这个:

代码语言:javascript
运行
复制
   route:
   - destination:
       host: website
       port: 
         number: 80
票数 0
EN

Stack Overflow用户

发布于 2019-02-21 07:31:28

通过验证所有选项,让带有Istio的私有GKE集群对外公开的唯一方法是使用Cloud NAT

由于GKE内的Master节点是托管服务,因此将Istio与私有集群一起使用时存在当前限制。完成您的用例的唯一解决方法是使用云NAT。我还附上了一篇关于如何开始使用云NAT here的文章。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54784419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档