开发者社区 > 云原生 > 容器服务 > 正文

OpenKruise中ImagePullJob 里面设置了一个pod的镜像,这个情况还会继续拉取吗?

"OpenKruise中ImagePullJob 里面设置了一个pod的镜像 如果某一次pod从这个节点调度走了 过了一段时间 k8s清理了这个节点上的这个pod残留的镜像 ImagePullJob还会去拉取这个镜像下来吗?另外如果Job被删除了 底层的NodeImage CRD上的images也会跟着联动清理吗?
cefebfe6b01c77486b060c8722c86f92.png"

展开
收起
十一0204 2023-11-21 18:11:10 100 0
3 条回答
写回答
取消 提交回答
  • 在OpenKruise的ImagePullJob中,镜像拉取的行为是高度依赖于特定因素的。当新的Pod实例被创建时,它会触发一个镜像拉取操作。因此,如果有一个Pod被调度到某节点上,然后过了一段时间,这个节点上的镜像被Kubernetes清理了,那么在下次同一个Pod再次调度到该节点时,会重新拉取镜像。

    然而,OpenKruise ImagePullJob也支持设置缓存策略(例如AlwaysCache)。如果设置了这种策略,即使之前的Pod被销毁,节点上的镜像也被清理,只要缓存还在,就可能会复用之前下载的镜像,而不是每次都重新拉取。

    此外,您还可以通过podSelector字段来指定需要在哪些Pod所在的节点上拉取镜像。这样的灵活性使得ImagePullJob能够更好地适应各种应用场景和需求。

    2023-11-29 14:12:23
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在 OpenKruise ImagePullJob 中,镜像拉取的操作是基于具体的 Pod 执行的。每次创建一个新的 Pod 实例时,都会触发一次镜像拉取操作。
    因此,如果您有一个 Pod 在某个节点上调度出去,然后过了一段时间后 K8s 清理了该节点上的镜像,那么下次在同一个节点上再次调度此 Pod 时,会重新拉取镜像。
    但是,如果 OpenKruise ImagePullJob 中设置了缓存策略(例如 AlwaysCache),则可能会使用之前下载的镜像,而不是每次都重新拉取。在这种情况下,即使之前的 Pod 被销毁并且节点上的镜像也被清理,只要缓存还在,就可以避免重新拉取镜像。
    总之,ImagePullJob 的行为取决于它的具体配置和 Pod 的调度情况,以及缓存策略等因素。您可以根据实际情况调整这些参数,以满足自己的需求。

    2023-11-21 22:06:22
    赞同 展开评论 打赏
  • 意中人就是我呀!

    需要看你的 CompletionPolicy,如果是 Never 的话,每隔 24h 会重新尝试拉一次,Always 的话就不会再拉了;这个会的。此答案整理至钉群“OpenKruise 社区交流群“

    2023-11-21 19:36:36
    赞同 展开评论 打赏

国内唯一 Forrester 公共云容器平台领导者象限。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载