1

我看到对于每个 knative 服务,VirtualService创建了 2 个对象,即配置ksvc-ingressknative-serving/knative-ingress-gateway&knative-serving/knative-local-gateway网关,以及ksvc-mesh作为mesh网关。

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

4

2 回答 2

1

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

在 Istio 上下文中,网格不是对象(或资源),例如Service。Istio About 页面解释了什么是Service Mesh

服务网格是一个专用的基础设施层,您可以将其添加到您的应用程序中。它允许您透明地添加可观察性、流量管理和安全性等功能,而无需将它们添加到您自己的代码中。术语“服务网格”描述了您用于实现此模式的软件类型,以及您使用该软件时创建的安全或网络域。

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

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

于 2022-02-18T08:33:15.613 回答
1

如您所料,mesh名称关键字。该关键字表示 Kubernetes 集群中 Pod 之间的东西向流量,由 Istio sidecar 管理。您可以将这些 VirtualServices 视为被编程到每个 sidecar 上,以在请求发送者旁边进行路由和流量拆分,而不是需要路由到中央服务/网关。

于 2022-02-18T13:13:21.660 回答