【发布时间】:2018-04-11 22:22:34
【问题描述】:
我在 Kubernetes client-go 中闲逛,但无法思考操作 Pod 结构的正确方法...
我得到一个 PodList pods 像这样:
// 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 PodSpec 和 Status PodStatus 中的数据的正确方法是什么。
也许我缺乏一些核心的 Golang 概念...谁能启发我,指出我的方向或提供一个通用示例来说明正确的方法?
【问题讨论】: