在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?
}
}
});
为了发生有用的事情,something
和 Something
的允许值是多少?我假设它们 应该 是 Pods、服务等东西,但我不确定。
Watcher
's sole type parameter is declared as <T>
,所以看起来我可以创建一个新的 Watcher<Integer>
,但我愿意赌永远不会跟注的钱。这表明 <T>
在实践中实际上存在界限,但我不知道它是什么,或者如果是这样的话为什么会被省略。
如果非要我猜的话,我会根据参数名称 resource
猜测它会类似于 T extends
Resource
<?, ?>
但同样,这只是一个猜测。
感谢您的任何指点,尤其是对我肯定错过的其他文档的指点。
更新 #1:从源代码中翻来覆去,我可以看到 Watcher.Action
的 eventReceived()
方法唯一的地方是称为 forces the payload to be considered to be a HasMetadata
object。也许这就是我的答案?
例如,您可以观看特定的播客或特定的工作。这种情况下的 T 类型分别是 Pod 或 Job。尝试
kube.extensions().jobs().createNew()...done().watch(new Watcher<Job>(){...})
我正在探索(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?
}
}
});
为了发生有用的事情,something
和 Something
的允许值是多少?我假设它们 应该 是 Pods、服务等东西,但我不确定。
Watcher
's sole type parameter is declared as <T>
,所以看起来我可以创建一个新的 Watcher<Integer>
,但我愿意赌永远不会跟注的钱。这表明 <T>
在实践中实际上存在界限,但我不知道它是什么,或者如果是这样的话为什么会被省略。
如果非要我猜的话,我会根据参数名称 resource
猜测它会类似于 T extends
Resource
<?, ?>
但同样,这只是一个猜测。
感谢您的任何指点,尤其是对我肯定错过的其他文档的指点。
更新 #1:从源代码中翻来覆去,我可以看到 Watcher.Action
的 eventReceived()
方法唯一的地方是称为 forces the payload to be considered to be a HasMetadata
object。也许这就是我的答案?
例如,您可以观看特定的播客或特定的工作。这种情况下的 T 类型分别是 Pod 或 Job。尝试
kube.extensions().jobs().createNew()...done().watch(new Watcher<Job>(){...})