我已成功使用Fabric8 Kubernetes客户端events()
API订阅我的minikube安装发出的一系列事件。这很酷!
(未记录的)Watcher
类有一个(未记录的)eventReceived()
method,其第一个参数是Watcher.Action
(enum
,其值为ADDED
,{ {1}},MODIFIED
和DELETED
)。它的第二个参数是(我发现in another question)和ERROR
,它代表了Kubernetes Event
资源(我猜)。
我在事件流中注意到的是有用的信息,但“动作”似乎与事件无关。例如,以下是我Event
的实施中的一些任意输出(我已打印出eventReceived()
以显示我的内容已通知的操作):
+++ action:
因此,您会注意到该操作为+++ action: DELETED
Event(apiVersion=v1, count=1, firstTimestamp=2017-04-25T23:41:54Z, involvedObject=ObjectReference(apiVersion=v1, fieldPath=spec.containers{controller-manager}, kind=Pod, name=catalog-catalog-controller-manager-1242994143-ddl0l, namespace=catalog, resourceVersion=462865, uid=11fc24bf-2a05-11e7-a27a-080027117396, additionalProperties={}), kind=Event, lastTimestamp=2017-04-25T23:41:54Z, message=Started container with id 7b51c389f153832e7719a99738706c2ff38aa28b298b80741f439b712f166262, metadata=ObjectMeta(annotations=null, clusterName=null, creationTimestamp=2017-04-25T23:41:54Z, deletionGracePeriodSeconds=null, deletionTimestamp=null, finalizers=[], generateName=null, generation=null, labels=null, name=catalog-catalog-controller-manager-1242994143-ddl0l.14b8c87cc177fb77, namespace=catalog, ownerReferences=[], resourceVersion=472706, selfLink=/api/v1/namespaces/catalog/events/catalog-catalog-controller-manager-1242994143-ddl0l.14b8c87cc177fb77, uid=c3851fae-2a10-11e7-a27a-080027117396, additionalProperties={}), reason=Started, source=EventSource(component=kubelet, host=minikube, additionalProperties={}), type=Normal, additionalProperties={})
,该事件似乎描述了DELETED
的开始(请注意Pod
数据)。
这是什么意思?我是否误解了message=Started container with id…
参数试图告诉我的内容?这可能意味着带有Action
的实际Event
资源已经uid=c3851fae-2a10-11e7-a27a-080027117396
(对于大多数情况来说这是非常无用的信息,但我可以看到,我猜,如果事件是也是你会得到的资源,那么,我猜这些事件表明它们被删除了吗?
答案 0 :(得分:0)
事实上,这确实是它的意思。 Event
是一种资源,在某些情况下由WatchEvent
表示。关于事件的某些kubectl
操作报告了两者的混合,但可以删除Event
(例如,当它在概念上描述的东西消失时),并删除{{1}有问题的是Event
。