Kubernetes Istio&x27;s的默认网关不是网关,而是服务
我试图了解Istio交通路线。我在演示模式下安装了Istio,并开始使用示例。这些示例让您安装了一些网关(我安装了Kubernetes Istio&x27;s的默认网关不是网关,而是服务,kubernetes,istio,istio-gateway,Kubernetes,Istio,Istio Gateway,我试图了解Istio交通路线。我在演示模式下安装了Istio,并开始使用示例。这些示例让您安装了一些网关(我安装了bookinfogateway和httpbin网关) apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: httpbin spec: gateways: - httpbin-gateway [...] 但我的所有通信似乎都通过istio-ingresgateway中定
bookinfogateway
和httpbin网关
)
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: httpbin
spec:
gateways:
- httpbin-gateway
[...]
但我的所有通信似乎都通过istio-ingresgateway
中定义的istio-system
命名空间中的“http2”端口
提到这一点:
Istio提供了一些预配置的网关代理部署(Istio ingressgateway和Istio ExgressGateway),您可以使用它们-如果您使用我们的演示安装,这两种部署都是部署的
但是当我运行时:kubectl-nistio system get service istio-ingresgateway-o yaml
结果显示kind:service
演示让我制作的其他网关显示kind:Gateway
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: httpbin
spec:
gateways:
- httpbin-gateway
[...]
所以我感到困惑
istio-ingresgateway
(这实际上是一项服务)虚拟服务
连接到istio入口网关
。它只是在查找所有虚拟服务
是一种类型为istio入口网关
(或LoadBalancer
,取决于您的设置)的kubernetes服务,作为集群的入口点。入口网关是istio的入口控制器,是完全可选的NodePort
是istio的自定义资源,用作网格的入口。它通过选择器绑定到入口网关,如gateway
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: httpbin-gateway
spec:
selector:
istio: ingressgateway
[...]
与文件中类似的VirtualService
绑定到网关
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: httpbin
spec:
gateways:
- httpbin-gateway
[...]
因此,如果流量使用您的网关,VirtualService
除了您配置的网关之外,还有mesh网关。因此,如果您希望内部群集流量使用istio配置,您需要将mesh网关添加到您的虚拟服务:
gateways:
- httpbin-gateway
- mesh
或者为此创建一个独立的虚拟服务。如果您没有设置任何网关,将使用mesh网关,因为它是默认的。
请参阅:->网关入口
服务和网关之间有区别吗
对
是一种类型为istio入口网关
(或LoadBalancer
,取决于您的设置)的kubernetes服务,作为集群的入口点。入口网关是istio的入口控制器,是完全可选的NodePort
是istio的自定义资源,用作网格的入口。它通过选择器绑定到入口网关,如gateway
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: httpbin-gateway
spec:
selector:
istio: ingressgateway
[...]
与文件中类似的VirtualService
绑定到网关
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: httpbin
spec:
gateways:
- httpbin-gateway
[...]
因此,如果流量使用您的网关,VirtualService
除了您配置的网关之外,还有mesh网关。因此,如果您希望内部群集流量使用istio配置,您需要将mesh网关添加到您的虚拟服务:
gateways:
- httpbin-gateway
- mesh
或者为此创建一个独立的虚拟服务。如果您没有设置任何网关,将使用mesh网关,因为它是默认的。
请参阅:->网关入口这是一个很好的答案!非常感谢。如果我可以问一个后续问题。您的群集中是否有多个
istio ingressgateway
?(例如,我在同一集群中运行开发和测试环境。我想知道我的集群中是否应该有两个istio-ingresgateway
服务。)谢谢!是的,可能有多个ingress gw。请参阅本例第25行和以下内容:这是一个很好的答案!非常感谢。如果我可以问一个后续问题。您的群集中是否有多个istio ingressgateway
?或者这是不受支持/不需要的?(例如,我在同一个集群中运行开发和测试环境。我想知道我的集群中是否应该有两个istio ingressgateway
服务。)谢谢!是的,可能有多个ingress gw。请参见第25行和下面的示例:和