问题标签 [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.
argoproj - 使用 argo 事件触发 argo 工作流程中的步骤
我们正在开发不同的 wf 工具,argo 因其广泛的功能而脱颖而出,而且它是 k8s 原生的,但我们有长时间运行步骤的用例,我们希望基于事件的系统触发下一步或重试基于上一步关于事件(例如远程作业的状态),是否可以通过 argo-events 来实现?
docker - 从另一个 pod 重新启动一个 kubernetes pod
我正在尝试使用 argo 事件来触发将更改推送到数据库的工作流程,然后我必须重新启动某些 pod 以便将更改考虑在内。我知道如何使用 argo 创建 kubernetes 对象,但我不知道如何使用它从 kubernetes 对象中重新启动 pod。或者,我也可以从 argo 中启动一个 pod,它的容器将重新启动一个 docker 容器,这可能吗?如果有怎么办?
kubernetes - 使用 Argo Workflows 创建队列系统
我试图弄清楚如何使用Argo设置工作队列。Argo 工作流程的计算成本很高。我们需要计划许多同时的请求。工作流项通过 HTTP 请求添加到工作队列。
流程可以这样演示:
我从未构建过超出其资源的 K8s 集群。我在哪里限制工作流的执行?或者 Argo 事件和工作流是否根据集群中的资源限制这些?
上面的例子可能可以简化为下面的例子,但问题是如果处理队列已满,会发生什么?
argoproj - 如何根据消息值触发不同的模板?
我有两个工作流模板(T1,T2),它们应该由 PubSub 消息触发。到目前为止 - 这行得通。但现在我想根据随消息发送的值触发 T1 xor T2。出于某种原因,我只是不让这个工作。这是我的事件源和传感器:
如果 body.test = "a" 第一个触发器 (T1) 应该被激活,如果 body.test = "b" 第二个 (T2)。
现在,发生的事情是这样的:
- 如果我发送
{"test":"a"}
- 只有 T1 被触发 - 好 - 如果我发送
{"test":"b"}
- 什么都不会触发 - 不好:/
有任何想法吗?
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 就是从这个例子中得到了粗略的启发。这并不是有根据的猜测的结果,因为我仍然不了解参数、参数和输入如何交互的机制。
kubernetes - 如何将 Argo webhook 触发器参数放入工件中?
我希望能够将大量数据发布到 Argo 中的 webhook。在我的传感器定义中,我从请求中获取数据并将其放入工作流程中的“原始”工件中。由于数据是 base64 编码的,我使用 Sprig 模板对编码数据进行解码。
不幸的是,当我使用大量数据时,Kubernetes 拒绝处理生成的工作流定义。
原始数据示例
此示例适用于少量数据。
较大数据集的错误
当我用一个小数据集触发上面的示例时,这可以按预期工作。但是当我使用大型数据集时,我得到一个错误:
我知道这是由于将整个原始数据复制到工作流模板中。然后这个大模板被 Kubernetes 拒绝。
我正在寻找一种将数据从 webhook POST 请求复制到工件中的方法,而不会将整个有效负载复制到工作流模板中。Argo有可能吗?
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 连接丢失
无法启动事件源服务器
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.
======
- 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
======
- 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?
======
- 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?
argo-events - 通过基于 webhook 有效载荷数据键的 argo 事件触发 argo 工作流模板
我正在寻找一种使用 webhook json 有效负载键触发工作流的方法,例如如果有效负载是 {"action":"copy","id":"someid"}
在触发器上
我创建了一个示例传感器文件,但是 argo sersor 抱怨 eventSourceName 使用了多次。
如果有人可以提供帮助,那就太好了
kubernetes - 通过 argo-events 的传感器创建作业时,我遇到了权限问题(无法在 API 组“批处理”中创建资源“作业”)
我正在尝试从传感器触发创建工作,但出现以下错误:
虽然我创建了一个serviceaccount
,role
和rolebinding
. 这是我的serviceaccount
创建文件:
这是我的rbac.yaml
:
这是我的sensor.yaml
:
传感器被正确触发,但未能创建作业。有人可以帮忙吗,我错过了什么?