【发布时间】:2018-08-17 22:49:59
【问题描述】:
我正在使用 Minikube 环境,我已经定义了最大内存使用
$] minikube config set memory 2048
现在我想在 GO 中使用 Kubernetes API 调用来获取这个内存值。 我尝试了以下方法,
import (
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest"
)
availableMem := kubernetes.Interface.StorageV1beta1().RESTClient().Get().Name("config")
但输出不可读。
【问题讨论】:
-
Minikube 本质上是一个单节点 kubernetes。 Node 上可用的资源应该是 v1.Node 对象的一部分。状态成员应包含有关可分配 RAM 的信息。
-
我也将在 K8S 集群中运行相同的程序。在那种情况下 v1.Node 也可以正常工作?
-
是的,您可以向 apiserver 发出请求以获取节点信息,可以是所有节点,也可以是按名称指定的特定节点。在这些对象中将包含有关节点容量的信息。并且特定的 pod 可以通过向下的 api 获取其节点 ip 和名称。
标签: rest go kubernetes minikube