knative 的 "mesh" 网关是什么

What is the knative's "mesh" gateway

我看到对于每个 knative 服务,都会创建 2 个 VirtualService 对象,即 ksvc-ingress,它配置了 knative-serving/knative-ingress-gatewayknative-serving/knative-local-gateway 网关,ksvc-meshmesh 作为网关。

我可以看到使用 kubectlknative-serving/* 网关,但我无法在任何命名空间中找到 mesh 网关对象。我想了解这里的 mesh 是否表示一些特殊对象,或者它是代表其他东西的 istio 关键字?

如您所见,knative 使用 istio 作为服务网格。

在 Istio 上下文中 mesh 不是对象(或资源),例如 Service。 Istio 关于页面解释 Service Mesh 是什么:

A service mesh is a dedicated infrastructure layer that you can add to your applications. It allows you to transparently add capabilities like observability, traffic management, and security, without adding them to your own code. The term “service mesh” describes both the type of software you use to implement this pattern, and the security or network domain that is created when you use that software.

所以 mesh 是一个封装所有 Istio 对象(istio-proxy 容器、虚拟服务、入口网关等)的术语,它们一起工作以允许流量管理集群内。

A​​ 网关 是在网格边缘运行的负载均衡器,接收传入或传出的 HTTP/TCP 连接。

mesh name is a keyword,如你所料。该关键字表示 Kubernetes 集群中 Pods 之间的 East-West 流量,由 Istio sidecar 管理。您可以将这些 VirtualServices 视为被编程到每个 sidecar 上以在请求 sender 旁边进行路由和流量拆分,而不需要路由到中央服务/网关。