我想使用 client-go 来获取 Kubernetes 集群中的资源。由于数据量很大,当我获取 configmap 连接时,连接已关闭。stream error when reading response body, may be caused by closed connection. Please retry. Original error: stream error: stream ID 695; INTERNAL_ERROR配置图:$ kubectl -n kube-system get cm |wc -l
35937代码:cms, err := client.CoreV1().ConfigMaps(kube-system).List(context.TODO(), v1.ListOptions{})我尝试使用 Limit 参数,我可以获取一些数据,但我不知道如何获取所有数据。cms, err := client.CoreV1().ConfigMaps(kube-system).List(context.TODO(), v1.ListOptions{Limit: 1000 })我是 Go 新手。任何关于如何去做的指示将不胜感激。
2 回答
四季花海
TA贡献1811条经验 获得超5个赞
v1.ListOptions的文档描述了它是如何工作的:
limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将
continue
列表元数据上的字段设置为可用于相同初始查询以检索下一组结果的值。
这意味着您应该检查响应,保存continue
字段的值(以及实际结果),然后重新发出相同的命令,但continue
设置为刚刚看到的值。重复直到返回的continue
字段为空(或发生错误)。
有关处理大结果分块的详细信息,请参阅API 概念页面。
- 2 回答
- 0 关注
- 125 浏览
添加回答
举报
0/150
提交
取消