client-go list性能提升
k8s v1.19.0
staging\src\k8s.io\apiserver\pkg\storage\cacher\cacher.go
List方法
staging\src\k8s.io\apiserver\pkg\storage\etcd3\api_object_versioner.go
ParseResourceVersion方法
优化1:设置resourceVersion=0
从kube-apiserver缓存中获取全量数据并返回。
默认client-go list参数是resourceVersion=0&limit=500,resourceVersion=0会使limit=500无效。
优化2:减少数据传输量
list请求通过设置label/namespace/field/分页等条件,在kube-apiserver缓存中过滤,减少数据传输量。