gpt4 book ai didi

kubernetes - 值为 0 的 Argo 工作流信号量

转载 作者:行者123 更新时间:2023-12-02 11:38:31 25 4
gpt4 key购买 nike

我正在学习 Argo 项目工作流中的信号量,以避免使用相同资源的并发工作流。
我的用例是我有几个外部资源,一次只有一个工作流可以使用一个。到目前为止一切顺利,但有时资源需要一些维护,在此期间我不想让 Argo 启动任何工作流程。
我想我有两个选择:

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

  • 所以我想知道如果我将信号量值设置为 0 它应该如何工作,我认为它不应该启动工作流程,因为它说 0。有人有任何关于这个的信息吗?
    这是我执行的步骤:
  • 首先,我使用 kubectl -f 应用我的 configmap。
  • 然后我提交了一些工作流,因为它们都使用相同的信号量 Argo 将启动一个,其余的将一次一个地执行。
  • 然后我使用 kubectl edit configMap
  • 更改 semapore 的值
  • 提交新作业,然后 Argo 将执行。

  • 当我通过 kubectl edit 更新 configMap 时,也许 Argo 不会重新加载 configMap?我想在 future 以编程方式更新配置映射,但现在使用 kubectl edit 进行测试。

    最佳答案

    快速修复:应用 ConfigMap 更改后,循环工作流 Controller pod。这将迫使它重新加载信号量状态。
    我无法重现您的确切问题。使用后kubectl edit将信号量设置为 0 ,所有新提交的工作流都保留 Pending .
    我确实遇到了使用 kubectl edit 的问题提高信号量限制并没有自动启动任何 Pending工作流程。循环工作流 Controller pod 允许工作流重新开始运行。
    除了使用快速修复之外,我还建议提交 issue .同步是一个较新的功能,它可能还不是 100% 健壮。

    关于kubernetes - 值为 0 的 Argo 工作流信号量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64427258/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com