我正在使用 watch API 实现一个自定义资源控制器。在 kubernetes 中创建/删除对象时,需要在 aws 中创建/删除对象。
当它启动手表时,它会收到一个历史事件列表。但是,我注意到如果创建一个对象然后删除,这些事件会在历史事件流中“取消”。也就是说,当我启动手表时,我没有看到给定对象的 ADDED 事件和 DELETED 事件,我根本看不到任何事件,就好像它从未存在过一样。这意味着如果一个对象在控制器关闭时被删除,它会在它重新启动时完全错过这个删除事件。
对于需要在删除 kubernetes 对象时执行操作的控制器(例如,删除 AWS 中的对象),推荐的方法是什么?有没有办法让 kubernetes 保持 DELETED 事件?是否只是期望控制器通过轮询所有命名空间中的所有对象列表而不是使用 watch API 来工作?