Argo Workflow信号量值为0

我正在学习Argo项目工作流中的信号量,以避免使用相同资源的并发工作流。

我的用例是,我有多个外部资源,一次只能使用一个工作流程。到目前为止还不错,但是有时资源需要维护,在此期间,我不想Argo开始任何工作流程。

我想我有两个选择:

  • 我测试了手动将configMap中的信号量值设置为0,但是Argo无论如何都启动了一个工作流程。
  • 我可以启动一个永远运行的工作流程,直到它被删除并声明同步锁为止,但这需要一些额外的开销才能使工作流程不执行任何操作。

所以我想知道如果将信号量值设置为0应该如何工作,我认为它应该不启动工作流程,因为它说为0。有人对此有任何信息吗?

这是我执行的步骤:

  1. 首先,我将配置图与kubectl -f配合使用。
  2. 然后,我提交一些工作流,由于它们都使用相同的信号量,因此Argo将启动一个工作流,其余的将一次按顺序执行。
  3. 然后,我用kubectl编辑configMap来更改semapore的值
  4. 提交新任务,然后Argo将执行。

也许当我通过kubectl edit更新configMap时,Argo不会重新加载configMap吗?我想将来以编程方式更新configmap,但现在使用kubectl编辑进行测试。

迈克尔·克伦肖

快速修复:应用ConfigMap更改后,循环工作流控制器窗格。这将迫使它重新加载信号量状态。

我无法重现您的确切问题。使用后kubectl edit设置信号量0,任何新提交的工作流程依然Pending

确实遇到了一个问题,在该问题上,kubectl edit用于提高信号量限制并不会自动启动任何Pending工作流程。循环工作流程控制器容器可以使工作流程重新开始运行。

除了使用快速修复之外,我建议您提交问题同步是一个较新的功能,可能还不是100%健壮。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

Argo Workflow信号量值为0

来自分类Dev

Argo Workflow始终使用默认服务帐户

来自分类Dev

将多个模板输入传递到Argo Workflow值

来自分类Dev

Argo Workflow始终使用默认服务帐户

来自分类常见问题

如何在Argo Workflow DAG中为每个步骤传递不同的参数值

来自分类Dev

如何在Argo Workflow DAG中为每个步骤传递不同的参数值

来自分类Dev

使用Argo Workflow遍历S3文件夹中的所有文件

来自分类Dev

如何将Argo工作流程与Argo CD结合?

来自分类Dev

如何知道python信号量值

来自分类Dev

创建自定义Argo工件类型

来自分类Dev

如何使用Argo和Swift创建子类?

来自分类Dev

在Argo中格式化日期

来自分类Dev

创建自定义Argo工件类型

来自分类Dev

如何为Argo正确配置卷?

来自分类Dev

信号量值是否初始化为-1?

来自分类Dev

信号量值大于初始化值

来自分类Dev

POSIX:退出sem_wait()后的信号量值

来自分类Dev

创建初始值为0的信号量会导致执行问题

来自分类Dev

Argo工作流程中的动态“检入”

来自分类Dev

Argo示例工作流程停留在挂起状态

来自分类Dev

kustomize:使用Argo Rollout CRD进行战略合并

来自分类Dev

如何解决Argo输出参数大小限制?

来自分类Dev

使用Argo工作流创建队列系统

来自分类Dev

具有Argo工作流程的Jinja模板

来自分类Dev

使用Alamofire和Argo:找不到成员“无”

来自分类Dev

通过 REST 调用启动 Argo 工作流

来自分类Dev

删除argo cron工作流程是否也会删除它启动的所有argo工作流程

来自分类Dev

生产者消费者信号量值不正确

来自分类Dev

定时信号量