第 2 章 OpenShift Serverless Serving 的可扩展性和性能
OpenShift Serverless 由多个不同的组件组成,它们具有不同的资源要求和扩展行为。这些组件水平可扩展,但其资源要求和配置高度依赖于实际用例。
- control-plane 组件
- 这些组件负责观察和响应自定义资源,并持续重新配置系统,如控制器 Pod。
- data-plane 组件
- 这些组件直接参与请求和响应处理,例如 Knative Servings activator 组件。
使用以下测试设置记录以下指标和发现:
- 运行 OpenShift Container Platform 4.13 的集群
- 在 AWS 中运行 4 个计算节点的集群,机器类型为 m6.xlarge
- OpenShift Serverless 1.30
2.1. OpenShift Serverless Serving 开销
由于 OpenShift Serverless Serving 的组件是 data-plane 的一部分,来自客户端的请求会通过以下方法进行路由:
- ingress-gateway (Kourier 或 Service Mesh)
- activator 组件
- 每个 Knative Service 中的 queue-proxy sidecar 容器
这些组件在网络中引入了额外的跃点,并执行额外的任务,例如添加可观察性和请求排队。以下是测量的延迟开销:
- 每个额外网络跃点都会为请求添加 0.5 ms 到 1 ms 延迟。根据 Knative Service 的当前负载,并在请求前将 Knative Service 缩减为零,则 activator 组件并不总是是 data-plane 的一部分。
- 根据有效负载大小,每个组件消耗最多 1 个 CPU vCPU,以每秒处理 2500 个请求。