AMQP-Argo Events配置后RabbitMQ消息无法触发Argo Workflow求助
可能的配置问题及排查步骤
- 先核对AMQP事件源配置参数
确认事件源yaml中以下配置和你实际使用的参数完全一致:exchangeName为test,exchangeType和你创建test exchange时指定的类型匹配(默认常用direct类型)routingKey为你发消息用的hello- 访问凭证部分的
vhost、username、password和RabbitMQ实际配置一致(你当前用的是默认/vhost和guest用户,需确认事件源里没有配其他值)
- 查看AMQP事件源Pod日志
你当前只查看了RabbitMQ自身的日志,还需要查看事件源对应的Pod日志,确认事件源有没有正常收到消息:
如果日志里有连接RabbitMQ失败、队列绑定失败类的报错,直接对应修正配置即可。kubectl logs <amqp-eventsource-pod-name> -n argo-events - 检查EventBus运行状态
事件源收到消息后需要通过EventBus转发给Sensor,先确认EventBus状态正常:
正常状态为kubectl get eventbus -n argo-eventsRunning,如果状态异常需要先排查EventBus的问题。 - 检查Sensor配置及日志
- 确认Sensor的
dependencies配置中,事件源名称、事件名称和你创建的事件源完全匹配 - 确认Sensor触发器中配置的ServiceAccount有创建Workflow的权限,这是最容易遗漏的配置项
- 查看Sensor Pod日志排查触发报错:
如果有权限不足、Workflow模板语法错误类的日志,对应修正即可。kubectl logs <sensor-pod-name> -n argo-events
4. 确认Sensor部署的命名空间,如果Sensor没有部署在argo-events命名空间,需要到对应命名空间下执行argo list查看工作流。 - 确认Sensor的
- 核对事件过滤规则
如果你在Sensor中配置了事件过滤规则,确认你发送的消息{"message": "hello"}符合过滤条件,规则不匹配的事件会被Sensor直接丢弃不会触发工作流。
内容的提问来源于stack exchange,提问作者natt010
相关产品推荐
相关产品推荐

