英文:
Use Kubernetes API and increase rate limit value
问题
我正在使用以下代码:
kubeconfig = resolveKubeconfig(kubeconfig)
if kubeconfig == "" {
return nil, fmt.Errorf("%s: %w", msgCouldNotCreateClientConfig, ErrLocatingKubeconfig)
}
config, err := clientcmd.BuildConfigFromFlags("", kubeconfig)
现在我使用 unstruct 将资源应用到集群中(5个简单的部署)。
我发现应用过程花费了很长时间,就像开始进行限流一样。
当我将配置更改为以下方式时:
config.QPS = 250
它的表现更好,我没有遇到任何问题。
我理解这与 Kubernetes API 与 API 服务器的速率限制有关。
两个问题:
- 如果我没有应用太多资源,为什么会发生这种情况?
- 我增加了这个值,这样做是否可以或会引发一些问题?
我应该同时使用 Burst 吗?
我没有找到关于 QPS 和 Burst 的很多文档...
英文:
Im using the following code
kubeconfig = resolveKubeconfig(kubeconfig)
if kubeconfig == "" {
return nil, fmt.Errorf("%s: %w", msgCouldNotCreateClientConfig, ErrLocatingKubeconfig)
}
config, err := clientcmd.BuildConfigFromFlags("", kubeconfig)
Now I use unstruct to apply resource to the cluster (5 simple deployments)
And I saw that the apply is taking time like starting throttling,
when I change the config to use like
config.QPS = 250
it works better, and I dont face any issue.
I understand that its related for the rate limit of k8s api with the api server.
two questions:
- why it happen if I dont apply too much resource
- I increase the value, is it ok or can make some issue ?
Should I use also Burst?
I didnt find a lot of docs on the QPS and Burst ...
答案1
得分: 1
默认情况下,在client-go
中,Burst为10,QPS为5,因此如果您只应用了几个请求,它不会阻塞您。
增加Burst
和OPS
对您的应用程序没有影响,但可能会给api-server
带来重负荷。
英文:
By default in client-go
the Burst is 10 and QPS is 5
so it should not block you if you just applied several request.
To increase the Burst
and OPS
no effect to your application but may create heavy load on the api-server
.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论