kubernetes

k8s集群可扩展性和性能SLI/SLO

2019-01-09  本文已影响0人  栗山海芋

k8s集群重要的特性是可扩展性和性能稳定性。参考k8s测试小组的文档,可以使用SLI(Service Level indicators)和 SLO(Service Level Objectives)来定义集群性能的衡量标准和集群性能要达到的目标。

SLI/SLO 需要满足如下特性:

SLO 类型

一般SLI是比较独立的,只用来定义测试什么以及怎样测试;而SLO会提供一个性能保证, 即在满足的集群环境中,集群性能可以获得保证。

一般有如下两类SLO

环境

为了保证达到SLO定义的性能目标,集群部署环境需要满足如下要求:

kubernetes SLI/SLO

以下是k8s集群要达到的服务质量目标(SLO),需要集群通过以下测试来保证性能的稳定性。

Steady state SLIs/SLOs

SLI SLO
测试一段时间内k8s资源对象的 post/put/patch/delete api调用,观察api响应延时 99%的api延时 <= 500ms
测试一段时间内k8s资源对象的 get/list api调用延时 99%的api延时: scope=resource: <= 1s, scope=namespace: <= 5s , scope=cluster: <= 30s
测试无状态和可调度pod的启动延时,不包括拉取镜像和运行init容器的时间 99%的pod启动延时 <= 5s
测试集群内service的访问延时(node之间网络延时) node之间RTT值99% <= X
测试集群内DNS域名解析延时 99%值 <= X

Burst SLIs/SLOs

SLI SLO
平均每个node启动30个pod,一共启动 30 * node_num 个pod所需要的时间 所有pod启动完成 <= X minutes

Normal SLO
apiserver 进程的 cpu 使用率少于 70%

Reference:

Kubernetes scalability and performance SLIs/SLOs

上一篇下一篇

猜你喜欢

热点阅读