duanran3115
2018-03-09 11:14
浏览 57
已采纳

使用GO API查找可用的RAM

I am using the Minikube environment and I have defined the max memory using

$] minikube config set memory 2048

Now I want to get this memory value using the Kubernetes API call in GO. I have tried the following,

import (
    "k8s.io/client-go/kubernetes"
    "k8s.io/client-go/rest"
)

availableMem := kubernetes.Interface.StorageV1beta1().RESTClient().Get().Name("config")

But the output is not in readable manner.

图片转代码服务由CSDN问答提供 功能建议

我正在使用Minikube环境,并且已经使用

  $] minikube配置集内存2048 
   
 
 

现在,我想使用GO中的Kubernetes API调用来获取此内存值。 我已经尝试了以下方法 ,

 导入(
“ k8s.io/client-go/kubernetes"
” k8s.io/client-go/rest"
)

availableMem  := kubernetes.Interface.StorageV1beta1()。RESTClient()。Get()。Name(“ config”)
   
 
 

但是输出结果不是可读的。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dongshimao7115 2018-03-12 17:44
    已采纳

    This code will fetch the available memory of the first cluster

    nodeList, err := f.KubeClient.CoreV1().Nodes().List(metav1.ListOptions{})
    
    if err == nil {
       if len(nodeList.Items) > 0 {
            node := &nodeList.Items[0]
            memQuantity := node.Status.Allocatable[v1.ResourceMemory]
            totalMemAvail = int(memQuantity.Value() >> 20)
        } else {
            t.Fatal("Unable to read node list")
            return
        }
    } else {
        t.Fatalf("Error while reading node list data: %v", err)
    }
    
    点赞 评论

相关推荐 更多相似问题