我正在四处浏览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之类的东西来访问...

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

关于go - 操纵Kubernetes的客户端PodList,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47023715/

10-16 00:35