当前位置: 首页 > 知识库问答 >
问题:

在Fabric8Kubernetes客户机事件()API中,watcher.action表示什么?

夏骏
2023-03-14

我已经成功地使用Fabric8Kubernetes客户端events()API订阅了minikube安装发出的一系列事件。很酷!

(未文档化的)观察器类有一个(未文档化的)EventReceived()方法,其第一个参数是观察器.action(enum)(其值为addedmodifieddeletederror)。它的第二个参数是(我在另一个问题中发现了)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的实际事件资源已被删除(对于大多数情况来说,这是非常无用的信息,但我可以看到,如果事件也是资源,那么,我想,您会得到指示它们被删除的事件)?

共有1个答案

空英逸
2023-03-14

事实上,这确实是它的意思。事件是在某些情况下由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。 我的问题是 - 在这种情况下,我应该如何管理客户端机密? 我曾考虑将自己的客户机机密嵌入服务器代码,但配额和使用将由我负责。我不确定要求客户拥有自己的谷歌开发者账户并生成自己的客户机密是否明智。。。

  • 我试图使用spring OAuth2在Spring Boot服务中实现服务到服务的安全性。我希望一个服务访问另一个服务的安全资源,而不涉及任何用户操作。 我可以设置auth服务器并使用curl请求获取令牌。我发现的测试使用Http对象来检查状态代码。 如何在具有RestTemplate和spring OAuth2的java客户机中使用客户机凭据授权类型? 我想它一定像添加一个依赖项、一个注释和一个