我正在四处浏览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 PodSpec和Status PodStatus中的数据的正确方法是什么。
也许我缺少一些Golang核心概念...任何人都可以启发我,为我指明方向或提供一个通用示例来说明这样做的正确方法吗?
最佳答案
我找到了解决方案,但是我将提供一个答案,而不是无耻地删除它:
我想访问的Spec和Status结构可以使用pod.Spec.NodeName
或pod.Status.StartTime
之类的东西来访问...
如果有人可以提供更详尽的答案来对此进行补充,请这样做。
关于go - 操纵Kubernetes的客户端PodList,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47023715/