繁体   English   中英

操作Kubernetes的客户端PodList

[英]Manipulate Kubernetes' client-go PodList

我正在四处浏览Kubernetes客户端,无法让我想到正确的方式来操作Pod结构...

我得到一个像这样的PodList 吊舱

// creates the clientset
clientset, err := kubernetes.NewForConfig(config)
if err != nil {
    glog.Fatal(err)
}
// Get Pods
pods, err := clientset.CoreV1().Pods("").List(meta_v1.ListOptions{})
if err != nil {
    fmt.Println(err)
    return
}

然后,我可以使用像这样的循环获取每个Pod的一些值

for _, pod := range pods.Items {
    fmt.Println(pod.GetName(), pod.Namespace)
}

但是,仅从具有一些Getter(pod.GetName())的ObjectMeta结构中 ,使用.Value也可以使用(pod.Namespace)。 我无法理解访问嵌套在Spec PodSpecStatus PodStatus中的数据的正确方法是什么。

也许我缺少一些Golang核心概念...任何人都可以启发我,为我指明方向或提供一个通用示例来说明这样做的正确方法吗?

我找到了解决方案,但是我将提供一个答案:

我想访问的Spec和Status结构可以使用pod.Spec.NodeNamepod.Status.StartTime类的东西来访问。

如果有人可以提供更详尽的答案来对此进行补充,请这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM