Knative Eventing 中如何排查Event事件处理异常

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 在 Knative Eventing 如果事件处理过程出现异常,如何进行排查?本文通过一个实际中遇到的事件处理异常 issue 的角度, 介绍了事件排查处理方式。

在Knative Eventing中如果遇到事件未处理的异常情况,如何进行排查?

首先需要明确当前版本的事件处理模型

社区给出的0.3版本事件处理模型
image

0.5版本事件处理模型
image

参照事件处理模型依次从上游到下游进行排查处理

这里以0.5事件处理模型下,部署Kubernetes Event Source example 为例:

1) 查看部署事件源

# kubectl get KubernetesEventSource testevents -o yaml
AI 代码解读

2) 查看 Broker

kubectl get broker default -o yaml
AI 代码解读

3) 查看 Ingress

// Ingress service
# kubectl get svc default-broker -o yaml
// Ingress deployment
# kubectl get deployments default-broker-ingress -o yaml
AI 代码解读

4) 查看 Channel

// 查看Channel资源
# kubectl get channel default-broker-8ml79 -o yaml
// 查看Channel 分发日志信息
# kubectl -n knative-eventing logs --tail=500 in-memory-channel-dispatcher-5d4c7f6cfb-xj7lg dispatcher
AI 代码解读

image

5) 查看 Subscription

# kubectl get subscription default-testevents-trigger-thdv4 -o yaml
AI 代码解读

6) 查看 Filter

# kubectl logs --tail=500 default-broker-filter-65656d665f-zflfz filter
AI 代码解读

image

此处我们可以发现有异常错误信息
经排查是由于CoreDNS不兼容导致的, 社区已经提出issue, 当前部署环境使用的是1.1.3, 升级到1.2.6即可解决这个问题。

通过上面这个例子我们可以大致了解event中处理事件的流程。当然如何没有发现问题,我们可以继续向下游继续排查。我们可以查看部署的服务是否Ok
7) 最后测试服务是否正常

// 获取istio外部访问地址
# kubectl -n istio-system get svc istio-ingressgateway
// 执行curl 访问进行测试服务是否正常
# curl -H "Host: event-display.default.example.com" http://172.19.xx.xx
AI 代码解读

其它

针对 Eventing 中事件处理过程是否能提供事件追踪机制,以方便问题排查, 社区计划在 v0.6.0 版本中添加 Tracing support, 有兴趣的可以关注一下

参考

https://github.com/knative/docs/tree/master/docs/eventing/debugging

相关实践学习
巧用云服务器ECS制作节日贺卡
本场景带您体验如何在一台CentOS 7操作系统的ECS实例上,通过搭建web服务器,上传源码到web容器,制作节日贺卡网页。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
打赏
0
0
0
0
54112
分享
相关文章
【事件中心 Azure Event Hub】使用Logstash消费EventHub中的event时遇见的几种异常(TimeoutException, ReceiverDisconnectedException)
【事件中心 Azure Event Hub】使用Logstash消费EventHub中的event时遇见的几种异常(TimeoutException, ReceiverDisconnectedException)
|
8月前
|
【Azure Event Hub】自定义告警(Alert Rule)用来提示Event Hub的消息incoming(生产)与outgoing(消费)的异常情况
【Azure Event Hub】自定义告警(Alert Rule)用来提示Event Hub的消息incoming(生产)与outgoing(消费)的异常情况
页面第二次进入或者多次进入,事件总线触发事件多次,eventBus触发多次
页面第二次进入或者多次进入,事件总线触发事件多次,eventBus触发多次
106 0
阿里云kubernetes(ACK)pod异常问题分析辅助工具-pod生命周期及事件可观测一览图
阿里云kubernetes(ACK)pod异常问题分析辅助工具-pod生命周期及事件可观测一览图
Knative 事件驱动实践:通过 EventBridge 触发事件
Knative是一款基于Kubernetes的 Serverless 框架。其目标是制定云原生、跨平台的 Serverless 容器编排标准。Knative通过整合容器构建(或者函数)、工作负载管理(动态扩缩)以及事件驱动这三者来实现的这一Serverless标准。那么如何给 Knative 提供生产级别的事件驱动能力?这里我们可以通过事件总线 EventBridge 来实现.事件总线EventB
316 0
Knative 事件驱动实践:通过 EventBridge 触发事件
Revit空闲事件(Idling Event)增强和外部事件(External Event)
Revit空闲事件(Idling Event)增强和外部事件(External Event)
Revit空闲事件(Idling Event)增强和外部事件(External Event)
Unity碰撞事件和触发事件
大家在刚开始接触Unity的时候,一定要理解碰撞与触发
581 0
基于Knative的消息流事件处理最佳实践
本文中描述了事件通过阿里云消息队列Kafka实时推送到服务端进行数据和业务处理,并基于Knative的弹性来实现满足资源高峰需求,做到真正的按需使用,实时弹性,整个过程完全自动化,极大的减少了业务开发人员在基础设施上的心智负担。
基于Knative的消息流事件处理最佳实践
如何实现 Logtail 的状态监控与异常告警
作为日志服务的采集 agent,Logtail 一般位于业务数据链路的前段,为链路中的后续部分输送数据,因此,它的正常运行显得至关重要。经过多年的实战打磨,Logtail 在稳定性和性能上都已经比较出色,在机器、网络等环境不变的情况下,配置完成后基本不再需要进行任何运维。
2504 0
如何实现 Logtail 的状态监控与异常告警