我应该使用哪个API来访问Python中kubernetesclient的V2beta2ModsMetricStatus模型?

2024-05-19 07:06:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python开发一个应用程序,其中我需要为一些POD(例如cpu、内存)使用度量的当前值。我可以通过API(/API/metrics.k8s.io/v1beta1/pods)获得这些信息,但我尝试使用kubernetes客户端,以便在我的python应用程序中访问这些指标

我看到V2beta2PodsMetricStatus模型包含了我需要的信息,但是我找不到我应该使用的API endpoint来达到这个模型

任何帮助或其他选择都会非常有帮助,因为我已经处理了好几天这个问题了

非常感谢您抽出时间


Tags: 内存io模型api信息应用程序客户端度量
2条回答

您可以使用如下api_clientcall_api method来调用不属于核心kubernetes API的API

ret_metrics = api_client.call_api('/apis/metrics.k8s.io/v1beta1/pods', 'GET', auth_settings = ['BearerToken'], response_type='json', _preload_content=False) 
response = ret_metrics[0].data.decode('utf-8')

有一个open issue通过V2beta2PodsMetricStatus模型来支持它

我最终通过直接执行相关的kubectl命令来获得度量。我不喜欢这个解决方案,但它是有效的。希望在不久的将来能够使用kubernetes客户端

import subprocess
p = subprocess.getoutput('kubectl get  raw /apis/metrics.k8s.io/v1beta1/namespaces/default/pods')
ret_metrics = json.loads(p)
items = ret_metrics['items']
 for item in items:
   print(item['metadata']['name'])

相关问题 更多 >

    热门问题