已关闭
【引导节点apiserver的QPS默认配置为5】 #2056
x_chao183创建于 8月21日关闭于 15 天前
8月21日 添加了label:sig/sig-Docs
openFuyao-bot
8月21日 评论:
8月21日 评论:
欢迎来到 openFuyao 社区
Hey @x_chao183 , 感谢你对社区的贡献.
机器人使用手册
有关指令的使用,可以点击 此处 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。
联系指引
有疑问可以联系 SIG: sig-Docs ,
维护者是: @ChristinaWang, @andxibei, @dingtingyu, @foxbit, @regandy ,


wangyikai
8月31日 评论:
8月31日 评论:
- 摘要:问题现象与
bke cluster create过程中访问引导节点本地 Kubernetes API 时触发 client-go 默认限流一致。当前代码没有给 bkeadm 自身使用的 Kubernetes client 设置QPS/Burst,因此会使用 client-go 默认值,通常为QPS=5、Burst=10。 - 根因:
pkg/executor/k8s/k8s.go的NewKubernetesClient()通过clientcmd.BuildConfigFromFlags()构造rest.Config后,直接传给kubernetes.NewForConfig()和dynamic.NewForConfig(),未覆盖config.QPS、config.Burst或config.RateLimiter。在创建集群资源较多时,bkeadm 侧请求会被本地 client 限流,表现为截图中的Waited for ... due to client-side throttling。 - 定位:
pkg/executor/k8s/k8s.go:NewKubernetesClient()未设置rest.Config.QPS/Burst。pkg/infrastructure/k3s/k3s.go、pkg/initialize/bkeconsole/install_console.go:引导节点本地 k3s 启动时未发现显式设置 apiserver QPS 类参数。pkg/config/config.go:目标集群生成配置里已经给 controller-manager、scheduler、kubelet 配置了较高的kube-api-qps,例如1000,所以本问题优先应处理 bkeadm 连接引导集群的 client-go 配置。
- 建议解决方案:在
pkg/executor/k8s/k8s.go中为 bkeadm 创建 Kubernetes client 的公共入口统一设置较高的 client QPS/Burst,例如:
const (
defaultKubeClientQPS = 1000
defaultKubeClientBurst = 2000
)
// BuildConfigFromFlags 成功后设置
config.QPS = defaultKubeClientQPS
config.Burst = defaultKubeClientBurst
这样 ClientSet 和 DynamicClient 都复用同一个已调优的 rest.Config,能覆盖 bke cluster create 安装 YAML、创建/查询资源、等待集群状态等路径。
- 验证建议:补充或调整
pkg/executor/k8s/k8s_test.go,mockkubernetes.NewForConfig/dynamic.NewForConfig时断言传入的rest.Config.QPS == 1000、Burst == 2000;再执行go test ./pkg/executor/k8s。端到端可复跑bke cluster create,确认日志中不再频繁出现 client-side throttling。


18 天前 移除了负责人 piamposer-li
16 天前 关联了pull request:fix(k8s): cache API discovery and raise client rate limit to avoid install throttling
16 天前 关联了pull request:fix(k8s): cache API discovery and raise client rate limit to avoid install throttling
16 天前 issue状态由 开启 改变为 待测试
注意事项/ Notes
环境信息/ Environment
192.168.200.73
问题简述/ Brief Description
使用bke cluster create 创建集群时,存在apiserver流量限制
问题详情&复现步骤 / Details & Reproduction Steps
期望结果/ Expected Results
提高QPS、Brust阈值
实际结果/Actual Results
存在流量限制