Amazon web services istio为特定服务创建外部ip

Amazon web services istio为特定服务创建外部ip,amazon-web-services,kubernetes,istio,Amazon Web Services,Kubernetes,Istio,我已使用istio将一个应用程序成功部署到K8s 我们使用的gw和虚拟服务如下: apiVersion:networking.istio.io/v1alpha3 种类:虚拟服务 元数据: 名称:bher虚拟服务 名称空间:ba trail 规格: 网关: -贝尔网关 主持人: -trialio.cloud.str http: -匹配: -uri: 前缀:“/” -uri: 前缀:“/login” -uri: 前缀:“/static” -uri: 正则表达式:“^.*\(ico | png | j

我已使用istio将一个应用程序成功部署到K8s

我们使用的gw和虚拟服务如下:

apiVersion:networking.istio.io/v1alpha3 种类:虚拟服务 元数据: 名称:bher虚拟服务 名称空间:ba trail 规格: 网关: -贝尔网关 主持人: -trialio.cloud.str http: -匹配: -uri: 前缀:“/” -uri: 前缀:“/login” -uri: 前缀:“/static” -uri: 正则表达式:“^.*\(ico | png | jpg)$” 路线: -目的地: 主机:bsa.ba-trail.svc.cluster.local service.namespace.svc.cluster.local 端口: 电话:5000 我还定义了
服务
部署

我想公开我能够访问的外部服务 比如:

https://myapp.host:5000
当我跑步时:

kubectl获取svc istio入口通道-n istio系统
名称类型CLUSTER-IP外部IP端口年龄
istio ingressgateway负载平衡器100.61.114.202 a7151b2063cb-200880.eu-central-1.elb.amazonaws.com 150210:31161/TCP,80:31280/TCP,443:31190/TCP 41d
如何做到这一点


我可以使用端口转发运行应用程序,但我需要直接的外部链接。

因此,在您的情况下,您有一个ELB为您的istio入口网关提供服务,该网关连接到一个虚拟服务,该服务将流量定向到容器中的端口
5000


我假设你有它的工作与感谢1+,一些问题1。我想要的是类似“myapp.somehost:5000”的东西,因此我必须将
somehost
映射到
a7151b2063cb-200880.eu-central-1.elb.amazonaws.com
,以及它将如何从
VS
主机获取
myapp
,2.你确定我需要
类型:LoadBalancer
,当我在使用istio之前这样做是为了在外部公开我的应用程序时,我在使用istio时也需要它吗?是的,如果你想从外部公开它,你需要负载平衡器。要公开你的应用程序,你需要一个带有
ClusterIP
的内部服务。如果你使用istio,那么一切都应该通过istio入口网关外部ip,因此你应该使用
kubectl get svc-n istio system
,检查istio入口网关外部ip,并使用它从外部进入你的应用程序。如果您在服务中使用端口转发,那么您不是在使用istio,而是在使用部署服务。顺便说一下,删除
service.namespace.svc.cluster.local
,因为它被注释为显示路由目标主机的语法。