[英]AMQP - Argo-events: argo-workflow not triggered
我正在嘗試運行由事件源觸發的 argo 工作流,該事件源偵聽 RabbitMQ 上發布的消息。 我在這里遵循了確切的步驟:AMQP-Argo Events
RabbitMQ 控制器 pod 正在運行:
eventbus-controller-7b5bd8b7fd-nggrc 1/1 Running 0 4h24m
events-webhook-6d4dc5b476-fnf6x 1/1 Running 0 4h24m
eventsource-controller-57b6cff5c8-xhfwd 1/1 Running 0 4h24m
rabbitmq-controller-949wp 1/1 Running 0 178m
sensor-controller-6f5b54468-8ndft 1/1 Running 0 4h24m
當我使用以下方式在交換測試上發布消息時:
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.basic_publish(exchange='test',
routing_key='hello',
body='{"message": "hello"}')
並使用
kubectl logs pod/<RABBITMQ-CONTROLLER-POD> -n argo-events
我明白了
2021-09-01 22:58:56.437190+00:00 [info] <0.3934.0> accepting AMQP connection <0.3934.0> (127.0.0.1:58396 -> 127.0.0.1:5672)
2021-09-01 22:58:56.442906+00:00 [info] <0.3934.0> connection <0.3934.0> (127.0.0.1:58396 -> 127.0.0.1:5672): user 'guest' authenticated and granted access to vhost '/'
但是,當我使用查看工作流時,我沒有看到任何列出的工作流
argo list -n argo-events
所以似乎沒有觸發傳感器。 有人可以建議我可能做錯了什么嗎?
謝謝!
我只能建議(作為仍在從事基本開發實現工作的人)檢查模板/示例文件是否使用適當的憑據和服務帳戶設置 - 當我無法讓資源觸發器工作時,我同樣感到困惑.
編輯:您還應該驗證傳感器是否具有適當的服務帳戶(請參閱https://argoproj.github.io/argo-events/service-accounts/ ),例如
apiVersion: v1
kind: ServiceAccount
metadata:
name: operate-workflow-sa
---
# Similarly you can use a ClusterRole and ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: operate-workflow-role
rules:
- apiGroups:
- argoproj.io
verbs:
- "*"
resources:
- workflows
- workflowtemplates
- cronworkflows
- clusterworkflowtemplates
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: operate-workflow-role-binding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: operate-workflow-role
subjects:
- kind: ServiceAccount
name: operate-workflow-sa
來源: https ://argoproj.github.io/argo-events/quick_start/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.