我在 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 PodSpec和Status PodStatus中的数据的正确方法是什么。
也许我缺乏一些核心的 Golang 概念......任何人都可以启发我,为我指出某个方向或为我提供一个正确方法的通用示例吗?