问题标签 [argo-workflows]
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.
kubernetes - Argo Workflows 信号量,值为 0
我正在学习 Argo 项目工作流程中的信号量,以避免使用相同资源的并发工作流程。
我的用例是我有几个外部资源,一次只能使用一个工作流。到目前为止一切顺利,但有时资源需要一些维护,在此期间我不想 Argo 启动任何工作流。
我想我有两个选择:
- 我测试了手动将 configMap 中的信号量值设置为值 0,但 Argo 还是启动了一个工作流。
- 我可以启动一个永远运行的工作流,直到它被删除,并要求同步锁,但这需要一些额外的开销才能运行不做任何事情的工作流。
所以我想知道如果我将信号量值设置为 0,它应该如何工作,我认为它不应该启动工作流,因为它说 0。任何人有任何关于此的信息?
这是我执行的步骤:
- 首先,我使用 kubectl -f 应用我的 configmap。
- 然后我提交了一些工作流,因为它们都使用相同的信号量,所以 Argo 将启动一个,其余的将一次按顺序执行。
- 然后我用 kubectl edit configMap 更改 semapore 的值
- 提交新作业,然后 Argo 将执行该作业。
当我通过 kubectl edit 更新 configMap 时,也许 Argo 不会重新加载 configMap?我想将来以编程方式更新 configmap,但现在使用 kubectl edit 进行测试。
argo-workflows - 如何为 Argo Workflow DAG 中的每个步骤传递不同的参数值
我有如下所述的 Argo DAG 示例。如下所示,我对每个任务的参数值进行了硬编码。每个任务使用不同的参数值。我知道 Argo 提供了一种以 JSON 或 YAML 格式提交参数文件以动态传递参数值的方法。但是,我想知道是否有一种方法可以通过参数文件为下面 DAG 中的每个任务传递不同的值。
argo-workflows - 根据步骤自身的输出将 Argo 工作流程步骤标记为已跳过
我知道我可以参考前面步骤的输出来跳过另一个步骤。是否可以在 argo 中根据其输出将步骤标记为已跳过?
我正在寻找这样的东西。这行不通,但有什么替代方法?
kubernetes - 生产环境中推荐的 Argo 工作流控制器副本数量是多少?
官方文档中argo-server和workflow-controller的默认replicas都设置为1,生产环境是不是应该设置为3才能实现高可用?
kubernetes - 删除 argo cron 工作流是否也会删除由它启动的所有 argo 工作流
看起来当我使用 删除 Argo cron 工作流程时argo cron delete
,根据我的观察,所有以前的工作流程(已完成以及仍在运行的工作流程)也将被删除。不过我并不完全确定,我还没有找到比https://argoproj.github.io/argo/cli/argo_cron_delete/更详细的文档。
如果我想在更新 cron 工作流程的频率时保留所有历史工作流程,例如每周一而不是每天运行,该怎么办?进行此类更新的推荐方法是什么?
kubernetes - 我无法在 k8s 上部署 argo-ui
我用这个 yaml 启动了一个 argo-server 和 argo-ui,但是 argo-ui 不能工作,我该怎么做?
这个 yaml 是官方的,我只是更改了图像版本,argo-server 和 workflow-controller 很好,但是 argo-ui 部署状态是 FailedCreate
结果
persistent-volume-claims - 如何为 argo 正确配置卷?
我有一个在正确的命名空间中运行的持久卷:
并希望运行包含批量声明模板的工作流:
我相信我的配置与此处描述的一致 https://stackoverflow.com/a/52669115/213269但是,由于我正在研究 argo 而不是 kubernetes,因此存在一些差异。我收到以下错误:
问题:如何正确配置卷?
更新:
我尝试将持久卷部署到 argo 命名空间并从工作流中指向它,现在出现以下错误:
我还在 Kubernetes 配置中添加了一个新用户和上下文,但无济于事。
更新:
我添加了以下角色,现在错误已从“...用户无法获取资源...”更改为“用户无法创建资源...”请注意,我的用户确实有权创建持久性卷声明。
kubernetes - Argo WorkflowTemplate 自由格式输入参数
参考:https ://github.com/argoproj/argo/blob/master/examples/workflow-template/templates.yaml#L11
是否可以将输入参数作为键值对集合传递WorkflowTemplate
?我问的原因是,似乎每次我们需要引入一个字段时,我们都必须更改模板并在其中定义字段的名称。因此在 Argo WorkflowTemplate 输入参数中寻找自由形式的支持。谢谢你。
kubernetes-helm - 如何在 Helm 中使用 Argo Workflows 模板?
是否可以使用 Helm 部署 Argo 工作流程?当我执行以下操作时,我收到如下错误helm install
错误:升级失败:在 (workflows/templates/my_dag.yaml:47) 处解析错误:未定义函数“workflow”
yaml 本身具有 Argo 和 Helm 插值,带有{{..}}
. 我明白为什么会失败。有没有解决的办法?
我看过这个,但它看起来不像我想做的事情,因为它有点改变语法。
argo-workflows - 创建自定义 Argo 工件类型
每当使用 S3 工件时,都需要以下声明:
如果可以将其抽象为以下内容,那将很有帮助:
有没有办法在 Argo 中进行这种自定义定义以减少样板文件?