"KubeVela中一个application的 resourcetracker 内容中有显示这个资源的删除时间,metadata中包含:
deletionTimestamp: ""2023-10-12T09:32:35Z""
如下:
apiVersion: core.oam.dev/v1beta1
kind: ResourceTracker
metadata:
creationTimestamp: ""2023-09-18T11:54:17Z""
deletionGracePeriodSeconds: 0
deletionTimestamp: ""2023-10-12T09:32:35Z""
finalizers:
但是对应的applicaiton的状态还是running
期间做过一次vela core pod的重启,这个大概会是什么原因?判断resourcetracker 删除的app 和 对应的app是同一个的依据是:
resourcetracker中的 labels.app.oam.dev/uid: 2cd78797-d424-469b-ad1e-62935e5f3238
和 正在运行的app的 uid: 2cd78797-d424-469b-ad1e-62935e5f3238 是相同的
resourcetracker中的 generation: 8
和 正在运行的app的 generation: 8 是相同的。"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在KubeVela中,ResourceTracker
是用来追踪应用资源状态的一个核心组件。从您提供的信息来看,ResourceTracker
显示了一个资源的删除时间(deletionTimestamp),但对应的Application状态仍然是running。这种情况可能由以下几个原因引起:
Deletion Grace Period:当 deletionGracePeriodSeconds
设置为0时,理论上资源应该被立即删除。但是,如果系统内部有延迟或者正在进行某些清理操作,资源的实际删除可能会有所滞后。即使显示了删除时间,实际的资源和Application状态更新可能还在处理中。
Controller或Operator同步问题:KubeVela依赖于一系列的控制器来管理应用生命周期,包括响应资源的创建、更新和删除事件。如果您提到的vela core pod重启过,这可能导致控制器的工作流程中断,比如删除操作的后续步骤没有正确执行,或者新的pod启动后需要时间重新同步所有资源的状态。
Finalizers:注意到resourcetracker.core.oam.dev/finalizer
存在于finalizers列表中。Finalizers可以阻止资源被立即删除,直到特定的操作完成。如果这些操作因为任何原因(如网络问题、依赖服务不可用等)没有完成,资源会保持在“待删除”状态,而不会立即从集群中移除。
标签和Generation匹配:您已经确认了通过labels.app.oam.dev/uid
和generation
这两个属性,ResourceTracker
与正在运行的Application是匹配的。这意味着它们确实指向同一个应用实例。然而,这种匹配并不直接解释为什么Application状态未更新,但它帮助确认了我们讨论的是同一资源的不同视角。
解决这个问题的建议步骤:
ResourceTracker
及其关联资源的状态变化,看是否随着时间推移,状态最终得到更新。ResourceTracker
或其关联的Application,注意要谨慎操作,避免影响业务。总之,这种情况可能是由于控制平面操作的异步性、临时的系统状态不一致或组件重启导致的同步问题。细致的排查和耐心等待通常是解决问题的关键。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。