"OpenKruise中如果Job被删除了 底层的NodeImage CRD上的images也会跟着联动清理吗?
如果是直接操作的NodeImage CRD 上面这个情况 这个images就不会被自动清理了吧?
就是监听的修改动作是吧 虽然没有清理images字段 但是也不会重新拉取了 是这个意思吧?特殊字段是指哪些?
之前反馈的1.3.0使用原地升级镜像预热的注解会导致kruise-controller重启的那个BUG 和ImagePullJob自身有关系吗? 因为那个注解用不了了 所以准备自己实现镜像预热 但是又担心那个BUG会影响到ImagePullJob特性。裸用ImagePullJob会触发这个BUG吗?"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在OpenKruise中,当一个Job被删除后,其底层的NodeImage CRD上的images是否会联动清理,取决于NodeImage的创建和删除机制。OpenKruise会自动为每个Node创建一个同名的NodeImage,这个NodeImage包含了哪些镜像需要在这个Node上做预热。当Node发生伸缩时,nodeimage-controller也会对应的创建或删除NodeImage。因此,如果Job所关联的Node发生缩放或删除,那么与该Node相关联的NodeImage以及其中的镜像可能也会被相应的清理。然而,如果仅仅是直接操作了NodeImage CRD而没有触发Node的伸缩或删除,那么NodeImage中的镜像则不会被自动清理。
至于你提到的特殊字段,我认为你可能是在询问关于"feature-gate"的内容。在OpenKruise中,从v1.5.0版本开始,ImagePullJob/ImageListPullJob功能默认是关闭的,以降低默认安装的权限。你需要通过设置"feature-gate ImagePullJobGate=true"来开启这个功能。
OpenKruise 中,当 Job 被删除时,底层的资源也会自动进行清理。
具体来说,当您删除一个 OpenKruise Job 时,它会触发一个垃圾回收机制,这个机制会删除与该 Job 相关的所有 Kubernetes 资源,包括但不限于 Deployment、StatefulSet、Pod 和 PVC 等。
需要注意的是,OpenKruise 的清理行为并不是实时的,而是存在一定延迟。这是因为 OpenKruise 需要等待所有正在运行的任务完成之后才会开始清理工作,以避免造成数据丢失等问题。
因此,如果您在删除 OpenKruise Job 后发现仍有相关资源未被清理,请耐心等待一段时间,或者手动检查资源状态并进行清理。
"会的。
NodeImage 这个也是一次性的行为,如果你只是 patch 上去,不再动的话,也会只拉一次,每次触发拉镜像这个行为的话,其实是需要更新一下 NodeImage 的一些特殊字段,不然的话也是拉一次就拉倒了。
不过建议你还是不要直接操作 nodeimage,还是走 ImagePullJob 吧。
去掉我说的那个 env 就不会出现重启的 bug 了; 裸用 job 也不会。此答案整理至钉群“OpenKruise 社区交流群“"