我正在使用2.0和6.0的Kubernetes v1.7和Python Client。根据此V1NodeStatus,read_node_status()应该返回节点的容量和可分配资源。我有几个作业,并且pod在gpu机器上运行。另外,某些待处理的作业无法为不足的资源(例如gpu)进行安排。当我像这样检查节点的值
api_response = v1.read_node_status(node)
print api_response.status.capacity
输出
{u'alpha.kubernetes.io/nvidia-gpu': '2', u'pods': '110', u'cpu': '40', u'memory': '65589120Ki'}
我看到报告了正确数量的节点容量。但是,当我打印api_response.status.allocatable
时,它显示的容量与错误的容量相同。如何获得节点的可分配/可用资源的准确值?
答案 0 :(得分:0)
v1.read_node_status(node)
在后台执行以下请求:
GET http://apiserver:port/api/v1/nodes/{name}/status
您可以使用以下命令检查源信息:
kubectl proxy &
curl http://127.0.0.1:8001/api/v1/nodes/YOUR_NODE_NAME/status
如果在“ allocatable
”部分中看到与python客户端相同的值,则您的代码就可以了。
要调查为什么拥有这种状态,最好查看有关Pod的更多数据,这些数据使用了无法计划的GPU和Pod。也许是由于其他原因导致的,而不是因为GPU。