问题标签 [argo-events]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1298 浏览

argoproj - 使用 argo 事件触发 argo 工作流程中的步骤

我们正在开发不同的 wf 工具,argo 因其广泛的功能而脱颖而出,而且它是 k8s 原生的,但我们有长时间运行步骤的用例,我们希望基于事件的系统触发下一步或重试基于上一步关于事件(例如远程作业的状态),是否可以通过 argo-events 来实现?

0 投票
1 回答
178 浏览

docker - 从另一个 pod 重新启动一个 kubernetes pod

我正在尝试使用 argo 事件来触发将更改推送到数据库的工作流程,然后我必须重新启动某些 pod 以便将更改考虑在内。我知道如何使用 argo 创建 kubernetes 对象,但我不知道如何使用它从 kubernetes 对象中重新启动 pod。或者,我也可以从 argo 中启动一个 pod,它的容器将重新启动一个 docker 容器,这可能吗?如果有怎么办?

0 投票
1 回答
1230 浏览

kubernetes - 使用 Argo Workflows 创建队列系统

我试图弄清楚如何使用Argo设置工作队列。Argo 工作流程的计算成本很高。我们需要计划许多同时的请求。工作流项通过 HTTP 请求添加到工作队列。

流程可以这样演示:

我从未构建过超出其资源的 K8s 集群。我在哪里限制工作流的执行?或者 Argo 事件和工作流是否根据集群中的资源限制这些?

上面的例子可能可以简化为下面的例子,但问题是如果处理队列已满,会发生什么?

0 投票
0 回答
78 浏览

argoproj - 如何根据消息值触发不同的模板?

我有两个工作流模板(T1,T2),它们应该由 PubSub 消息触发。到目前为止 - 这行得通。但现在我想根据随消息发送的值触发 T1 xor T2。出于某种原因,我只是不让这个工作。这是我的事件源和传感器:

如果 body.test = "a" 第一个触发器 (T1) 应该被激活,如果 body.test = "b" 第二个 (T2)。

现在,发生的事情是这样的:

  • 如果我发送{"test":"a"}- 只有 T1 被触发 - 好
  • 如果我发送{"test":"b"}- 什么都不会触发 - 不好:/

有任何想法吗?

0 投票
2 回答
845 浏览

argoproj - 如何参数化工作流TempateRef?

我有一个通过 Argo Events 和 PubSub 触发的 WorkflowTemplate “nyc-test-template”。因此,如果我将消息发布{}到 PubSub 主题“argo-events-nyc”,则通过 a 指定的模板workflowTempateRef将启动。这确实工作得很好。现在我想参数化要启动的模板。

我的不工作草稿如下所示:

我想要发生的是这样的:

  • 一条空消息{}将触发“nyc-test-template”
  • 该消息{"wft": "my-template"}将触发“我的模板”

相反,发布空消息会导致传感器抛出错误:

2021-03-29T15:31:16.386441528Z2021/03/29 15:31:16 Failed to parse workflow: error unmarshaling JSON: while decoding JSON: json: unknown field "inputs"

坦白说,上面的 yaml 就是从这个例子中得到了粗略的启发。这并不是有根据的猜测的结果,因为我仍然不了解参数、参数和输入如何交互的机制。

0 投票
0 回答
358 浏览

kubernetes - 如何将 Argo webhook 触发器参数放入工件中?

我希望能够将大量数据发布到 Argo 中的 webhook。在我的传感器定义中,我从请求中获取数据并将其放入工作流程中的“原始”工件中。由于数据是 base64 编码的,我使用 Sprig 模板对编码数据进行解码。

不幸的是,当我使用大量数据时,Kubernetes 拒绝处理生成的工作流定义。

原始数据示例

此示例适用于少量数据。

较大数据集的错误

当我用一个小数据集触发上面的示例时,这可以按预期工作。但是当我使用大型数据集时,我得到一个错误:

我知道这是由于将整个原始数据复制到工作流模板中。然后这个大模板被 Kubernetes 拒绝。

我正在寻找一种将数据从 webhook POST 请求复制到工件中的方法,而不会将整个有效负载复制到工作流模板中。Argo有可能吗?

0 投票
0 回答
93 浏览

azure-eventhub - argo-events 是否支持 azure-hub 作为事件源?

argo-events 是否支持 azure-hub 作为事件源?

我可以在这里看到一个示例代码:

但这对我不起作用。我尝试使用以下参数:

FQDN:“命名空间”.servicebus.windows.net

sharedAccessKeyName: 共享访问策略 --> "Policy"

sharedAccessKey: "主键"

我还检查了事件源 - 设置页面,此处未提及 azure-hub 说明:

我可以使用 azure cli 成功获取连接字符串,如下面的链接所述:

我的 argo EventSource pod 处于“CrashLoopBackOff”阶段,日志显示如下:

开始处理 Azure 事件中心

检索共享访问密钥名称

正在检索共享访问密钥...

连接到集线器...

收集集线器运行时信息...

无法开始监听事件源

NATS 连接丢失

无法启动事件源服务器

0 投票
0 回答
178 浏览

azure - triggering argo-workflow based on azure-blob-storage event (through argo-events)

I would like to trigger an argo-workflow, when a new file gets uploaded in azure-blob-storage.

I tried to solve this in 3 different ways, but none has worked as of now.

======

  1. Azure-blob-storage event --> triggers an "argo-event webhook eventsource/sensor" --> triggers argo-workflow

here "Azure-blob-storage webhook event trigger" & "argo-event webhook endpoint" --> is throwing handshake validation error.

Though I am able to trigger argo workflow by calling "argo-event webhook endpoint" manually using curl & port-forwarding

======

  1. Azure-blob-storage event --> triggers an "argo-event azure-hub" eventsource/sensor --> triggers argo-workflow

this is also not working, I posted another stackoverflow question related with this: does argo-events support azure-hub as eventsource?

======

  1. Azure-blob-storage event --> triggers an "azure-function" --> and "azure-function" triggers argo-workflow

I need to spend some more time on this, but I am not able to make this work yet.

========

Does anyone know what is the best way to solve this problem & anyone have any sample codes for reference?

0 投票
1 回答
425 浏览

argo-events - 通过基于 webhook 有效载荷数据键的 argo 事件触发 argo 工作流模板

我正在寻找一种使用 webhook json 有效负载键触发工作流的方法,例如如果有效负载是 {"action":"copy","id":"someid"}

在触发器上

我创建了一个示例传感器文件,但是 argo sersor 抱怨 eventSourceName 使用了多次。

如果有人可以提供帮助,那就太好了

0 投票
2 回答
655 浏览

kubernetes - 通过 argo-events 的传感器创建作业时,我遇到了权限问题(无法在 API 组“批处理”中创建资源“作业”)

我正在尝试从传感器触发创建工作,但出现以下错误:

虽然我创建了一个serviceaccount,rolerolebinding. 这是我的serviceaccount创建文件:

这是我的rbac.yaml

这是我的sensor.yaml

传感器被正确触发,但未能创建作业。有人可以帮忙吗,我错过了什么?