我已经成功地使用Fabric8Kubernetes客户端events()
API订阅了minikube安装发出的一系列事件。很酷!
(未文档化的)观察器
类有一个(未文档化的)EventReceived()
方法,其第一个参数是观察器.action
(enum
)(其值为added
、modified
、deleted
和error
)。它的第二个参数是(我在另一个问题中发现了)event
,它表示Kubernetesevent
资源(我猜)。
我在事件流中注意到的是有用的信息,但“动作”似乎与事件不一致。例如,以下是我实现EventReceived()
的一些任意输出(我打印了+++操作:
以显示通知我的东西的操作):
+++ 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容器,其ID…
数据)。
这是什么意思?我是否曲解了操作
参数试图告诉我的内容?这是否意味着具有uid=C3851FAE-2A10-11E7-A27A-080027117396
的实际事件
资源已被删除
(对于大多数情况来说,这是非常无用的信息,但我可以看到,如果事件也是资源,那么,我想,您会得到指示它们被删除的事件)?
事实上,这确实是它的意思。事件
是在某些情况下由WatchEvent
表示的资源。与事件有关的某些Kubectl
操作会在两者的混合中报告,但是事件
可以被删除(例如,当它所描述的事情消失时),而对事件
的删除由WatchEvent
表示。
我用Fabric8Kubernetes Java客户机API编写了一个示例,以设置容器上的GPU资源需求。我得到以下运行时错误: 示例的整个源代码如下:
客户端事件通过 SetEvent 方法进行设置。 客户端事件有两个,它们分别定义为: type onErrorEvent interface { OnError(name string, err error) } type onFailswitchEvent interface { OnFailswitch(Client) } 因为 go 语言不需要显式实现接口的特点,所以这两
我们的团队为特定任务开发了服务器发送事件(SSE)。 我正在尝试构建一个客户端来侦听来自服务器的事件流。我已经设法使用Jersey Java库实现了这一点。然而,由于我们的大多数客户机代码都使用Spring,所以我想举一个例子来说明如何使用Spring实现这一点。 我在Spring的服务器端找到了许多关于SSE的示例。但是,我找不到客户端的任何文档。 Spring是否在客户端支持SSE?如果是,我
我正在开发一个服务器/客户端应用程序,允许将视频剪辑发布到用户的YouTube频道。我们的软件部署在客户拥有并控制的服务器上。 我正在使用YouTube的Java API v3和OAuth 2.0。 我的问题是 - 在这种情况下,我应该如何管理客户端机密? 我曾考虑将自己的客户机机密嵌入服务器代码,但配额和使用将由我负责。我不确定要求客户拥有自己的谷歌开发者账户并生成自己的客户机密是否明智。。。
我正在开发一个应用程序,创建一个报告,并将其发送给客户端。我使用了以下代码:XDocReport和Grails。 1)给定上面的代码,哪里出了问题?bug的原因是什么?2)为了将文件发送到客户机,需要执行的触发器或代码行是什么?