如此处所述,Knative 的 Activator 接收并缓冲对非活动修订的请求。
这个路由是如何实现的?我在应用程序的命名空间中看到的只是一个 VirtualService 路由请求到修订版,所以我看不到进入网格的流量是如何重定向到 Activator 的。
Knative 服务版本:0.9.0
如此处所述,Knative 的 Activator 接收并缓冲对非活动修订的请求。
这个路由是如何实现的?我在应用程序的命名空间中看到的只是一个 VirtualService 路由请求到修订版,所以我看不到进入网格的流量是如何重定向到 Activator 的。
Knative 服务版本:0.9.0
Knative 有一个新概念(CRD),称为无服务器服务,它是为每个 Knative 服务创建的。
无服务器服务创建两个 Kubernetes 服务:
无服务器服务可以处于以下模式之一:
只要您的应用程序有 pod 实例在运行,无服务器服务就处于服务模式。因此,您的公共服务配置有来自您的私有服务的端点,这意味着入口网关转发的请求会到达您的应用程序,如下图所示:
当您的应用程序实例被自动缩放器缩减时,无服务器服务控制器会更新公共服务,以使用 Activator Service 发现的 IP 进行配置。触发自动缩放会缓冲请求,直到一项服务启动并运行并转发请求。代理模式如下图所示:
总而言之,无服务器控制器通过在私有服务的端点之间交替设置公共服务的端点,或者将其缩小到零到激活器服务的端点。