【问题标题】:Manipulate Kubernetes' client-go PodList操作 Kubernetes 的 client-go PodList
【发布时间】: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 PodSpecStatus PodStatus 中的数据的正确方法是什么。

也许我缺乏一些核心的 Golang 概念...谁能启发我,指出我的方向或提供一个通用示例来说明正确的方法?

【问题讨论】:

    标签: go kubernetes-go-client


    【解决方案1】:

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

    我想访问的 Spec 和 Status 结构可以使用 pod.Spec.NodeNamepod.Status.StartTime 之类的东西轻松访问...

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

    【讨论】:

      猜你喜欢
      • 2021-03-29
      • 2018-11-03
      • 1970-01-01
      • 2020-09-30
      • 2022-11-28
      • 2019-02-12
      • 2019-05-22
      • 1970-01-01
      • 2021-07-03
      相关资源
      最近更新 更多