我通过云控制台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
我想知道我的配置中是否遗漏了某些东西,或者我的用例实际上是不可能的?
从验证所有选项,将具有Istio的私有GKE集群暴露给外部的唯一方法是使用云NAT。
由于GKE中的主节点是托管服务,因此在将Istio与私有群集一起使用时存在当前限制。完成您的用例的唯一解决方法是使用Cloud NAT。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。