0

我在 Kubernetes client-go 周围闲逛,无法思考操作 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 概念......任何人都可以启发我,为我指出某个方向或为我提供一个正确方法的通用示例吗?

4

1 回答 1

2

我找到了解决方案,但我不会无耻地删除它,而是提供一个答案:

我想访问的 Spec 和 Status 结构可以使用类似的东西简单地访问pod.Spec.NodeNameor pod.Status.StartTime...

如果有人可以提供更详细的答案来补充这一点,请这样做。

于 2017-10-31T16:57:30.130 回答