在fabric8 Kubernetes client events() API中的一个Watcher中,我可以监视哪些资源?

In a Watcher in the fabric8 Kubernetes client events() API, what resources can I watch?

我正在探索(undocumented?) events() API in Fabric8's Kubernetes client project

具体来说,我发现我可以执行以下操作:

client.events().inAnyNamespace().watch(new Watcher<Something>() {
    @Override
    public final void eventReceived(final Action action, final Something something) {

    }

    @Override
    public final void onClose(final KubernetesClientException kubernetesClientException) {
      if (kubernetesClientException != null) {
        // log? throw?
      }
    }
});

为了发生有用的事情,somethingSomething 的允许值是多少?我假设它们 应该 是 Pods、服务等东西,但我不确定。

Watcher's sole type parameter is declared as <T>,所以看起来我可以创建一个新的 Watcher<Integer>,但我愿意赌永远不会跟注的钱。这表明 <T> 在实践中实际上存在界限,但我不知道它是什么,或者如果是这样的话为什么会被省略。

如果非要我猜的话,我会根据参数名称 resource 猜测它会类似于 T extendsResource<?, ?> 但同样,这只是一个猜测。

感谢您的任何指点,尤其是对我肯定错过的其他文档的指点。

更新 #1:从源代码中翻来覆去,我可以看到 Watcher.ActioneventReceived() 方法唯一的地方是称为 forces the payload to be considered to be a HasMetadata object。也许这就是我的答案?

例如,您可以观看特定的播客或特定的工作。这种情况下的 T 类型分别是 Pod 或 Job。尝试

kube.extensions().jobs().createNew()...done().watch(new Watcher<Job>(){...})