Open zhaojizhuang opened 3 years ago
Activator本身是个有状态的组件当前只能部署单实例 除了处理从0->1的过程还有流量保持的左右 那规模大了这块怎么搞
@jingb Activator本身是个有状态的组件当前只能部署单实例 除了处理从0->1的过程还有流量保持的左右 那规模大了这块怎么搞
Activator 本身是配置了 HPA 的,当流量大了之后本身也可以扩缩容
@zhaojizhuang
@jingb Activator本身是个有状态的组件当前只能部署单实例 除了处理从0->1的过程还有流量保持的左右 那规模大了这块怎么搞
Activator 本身是配置了 HPA 的,当流量大了之后本身也可以扩缩容
之前我这边用的是0.16版本的,Activator起了多个实例的话 去压ksvc,会发现ksvc占的pod数量在一个范围内就一直横跳,排查了好久之后发现activator很多数据都是放内存里的,是个有状态的服务,不知道现在是不是改了
麻烦问一下,关于文章中"当实例足够时,autoscaler 会更新 public service 的endpoints 指向 revision对应的pod,将请求导向真正的后端,这时候处理请求过程中 activator 不在起作用"这句,我的环境pod ready后public-service的后端还是activator,是knative版本问题吗(我的是1.17)。 另外private-service的作用只是用来获取后端地址吗,还是pod ready后通过private-service进行访问。
@jingb
@zhaojizhuang
@jingb Activator本身是个有状态的组件当前只能部署单实例 除了处理从0->1的过程还有流量保持的左右 那规模大了这块怎么搞
Activator 本身是配置了 HPA 的,当流量大了之后本身也可以扩缩容
之前我这边用的是0.16版本的,Activator起了多个实例的话 去压ksvc,会发现ksvc占的pod数量在一个范围内就一直横跳,排查了好久之后发现activator很多数据都是放内存里的,是个有状态的服务,不知道现在是不是改了
如果你是这么理解有状态(保存在内存里)的话,最新版本还是保存在内存里的。可以通过设置 TBC (target-burst-capacity) 来让 activator 在 实例数不为 零时,将 activator 从 流量路径中摘掉
@acodetailor 麻烦问一下,关于文章中"当实例足够时,autoscaler 会更新 public service 的endpoints 指向 revision对应的pod,将请求导向真正的后端,这时候处理请求过程中 activator 不在起作用"这句,我的环境pod ready后public-service的后端还是activator,是knative版本问题吗(我的是1.17)。 另外private-service的作用只是用来获取后端地址吗,还是pod ready后通过private-service进行访问。
pod ready后public-service的后端还是activator 这个与 TBC (target-burst-capacity) 的设置有关,可以研究下; private-service的作用就是是用来获取后端地址的, 实际上 controller (sks controller)会根据 sks 的mode (mode 由 autoscaller 来决定)来更细 public service 中的 endpoints
Route应该还会建一个ExternalName类型的Service吧
@Explosivv Route应该还会建一个ExternalName类型的Service吧
对
https://chumper.cn/2020/10/15/knative-serving/
本文主要讲解 Knative serving 系统及组件: 发展历程Knative 是谷歌开源的 serverless 架构方案,旨在提供一套简单易用的 serverless 方案,把 serverless 标准化。目前参与的公司主要是 Google、Pivotal、IBM、Red Hat,2018年7月24日才刚刚对外发布,当前还处于快速发展的阶段(3.4k star, 3.3k issue