我使用以下代码
kubeconfig = resolveKubeconfig(kubeconfig)
if kubeconfig == "" {
return nil, fmt.Errorf("%s: %w", msgCouldNotCreateClientConfig, ErrLocatingKubeconfig)
}
config, err := clientcmd.BuildConfigFromFlags("", kubeconfig)
现在我使用unstruct将资源应用到集群(5个简单部署)
我看到应用程序花费的时间就像开始节流一样,
当我将配置改为使用like
时config.QPS = 250
效果更好,我没有遇到任何问题。
我知道这与k8s api与api服务器的速率限制有关。
两个问题:
- 如果我没有应用太多的资源,为什么会发生这种情况
- 我增加了值,是可以还是可以产生一些问题?
我应该使用Burst吗?
我没有找到很多关于QPS和Burst的文档…
默认情况下,client-go
的Burst为10,QPS为5因此,如果你只应用了几个请求,它应该不会阻止你。
增加Burst
和OPS
对您的应用程序没有影响,但可能会在api-server
上造成沉重的负载。