我正在使用 python kubernetes 客户端来控制资源的部署。我想一次轮询多个资源的状态,以提供关于给定资源集何时可用的近实时反馈。现在我必须单独查询每个资源,这在每组资源由 N 个用户扩展的系统上似乎过多(因此,如果有 6 个资源,则会有 N(6) 个状态检查请求)。
有没有办法查询 API 并获取与给定标签选择器匹配的所有资源的状态?如果没有,我应该考虑另一种方法吗?
我正在使用 python kubernetes 客户端来控制资源的部署。我想一次轮询多个资源的状态,以提供关于给定资源集何时可用的近实时反馈。现在我必须单独查询每个资源,这在每组资源由 N 个用户扩展的系统上似乎过多(因此,如果有 6 个资源,则会有 N(6) 个状态检查请求)。
有没有办法查询 API 并获取与给定标签选择器匹配的所有资源的状态?如果没有,我应该考虑另一种方法吗?
我首先查看
kubectl
它是如何工作的,因为在足够高的详细级别下,它显示了实际的底层 HTTP 事务:似乎发出了两个单独的
GET
调用,所以我相信它只是让它们同时运行,然后等待线程。至于你问题的另一半,
与 CSV 版本做同样的事情,但似乎做了类似的事情
kubectl api-resources
(或者可能有一个它认为的硬编码列表all
?)然后做同样的事情:让多个GET
飞行并等待线程您可能有兴趣探索如何
kubectl rollout status
操作,看看是否对您有帮助。我还尝试添加并被告知--watch
:get all