登录
首页 >  Golang >  Go问答

如何根据创建时间对 Pod 进行排序

来源:stackoverflow

时间:2024-04-09 18:06:33 440浏览 收藏

golang学习网今天将给大家带来《如何根据创建时间对 Pod 进行排序》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

问题内容

我想按创建时间对 kubernetes pod 进行排序。我尝试添加这样的逻辑。这里的“结果”是 pod 数组(类型为 k8s.io/api/core/v1/pod)

sort.Slice(result, func(i, j int) bool { 
    fmt.Printf("%T \n", result[j].CreationTimestamp)
    fmt.Printf("time  %t" , result[i].CreationTimestamp.Before(result[j].CreationTimestamp))
    return result[i].CreationTimestamp.Before(result[j].CreationTimestamp) 
})

按照上述逻辑,我得到错误

无法使用 t2 (类型“k8s.io/apimachinery/pkg/apis/meta/v1”。time)作为类型 *“k8s.io/apimachinery/pkg/apis/meta/v1”。t1 参数中的时间。before

我尝试打印 v1.time 中的“result[j].creationtimestamp”类型。我不确定我还缺少什么。谁能指导一下我吗?

解决方法是创建另一个对象并将其字段设置为 pod 的 name 和creationtime 并对其进行排序,但这会影响性能。


正确答案


根据 docs before 需要一个 *time 因此我认为你必须像这样引用第二个时间戳:

return result[i].CreationTimestamp.Before(&result[j].CreationTimestamp)

好了,本文到此结束,带大家了解了《如何根据创建时间对 Pod 进行排序》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>