我应该使用哪个API来访问Python中kubernetes客户端的V2beta2PodsMetricStatus模型?
我正在用python开发一个应用程序,其中我需要为一些POD(例如cpu、内存)使用度量的当前值。我可以通过API(/API/metrics.k8s.io/v1beta1/pods)获得这些信息,但我尝试使用kubernetes客户端,以便在我的python应用程序中访问这些指标 我看到模型包含了我需要的信息,但我找不到我应该使用的信息,以达到这个模型 任何帮助或其他选择都会非常有帮助,因为我已经处理了好几天这个问题了我应该使用哪个API来访问Python中kubernetes客户端的V2beta2PodsMetricStatus模型?,python,kubernetes,metrics,Python,Kubernetes,Metrics,我正在用python开发一个应用程序,其中我需要为一些POD(例如cpu、内存)使用度量的当前值。我可以通过API(/API/metrics.k8s.io/v1beta1/pods)获得这些信息,但我尝试使用kubernetes客户端,以便在我的python应用程序中访问这些指标 我看到模型包含了我需要的信息,但我找不到我应该使用的信息,以达到这个模型 任何帮助或其他选择都会非常有帮助,因为我已经处理了好几天这个问题了 非常感谢您抽出时间。您可以使用api\u client的call\u api
非常感谢您抽出时间。您可以使用
api\u client
的call\u api方法
调用不属于核心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')
通过
V2beta2PodsMetricStatus
model我最终通过直接执行相关的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'])
我打开了这个问题:-)。看来调用api很快就会过时。除此之外,调用api并不稳定。有时它会返回度量值,但大多数时候我都会得到kubernetes.client.rest.apieexception:(404)我不明白为什么有时我会通过api_客户端获取度量值,然后得到“404未找到”响应。结果是一样的。如何获得所需的指标?