小编Mic*_*haw的帖子

Argo 工作流始终使用默认服务帐户

我安装了 Argo Workflow 的默认舵图,仅将 init.serviceAccount 配置为我创建的 argo-sa。(具有足够授权的ServiceAccount)但是,运行每个工作流都作为serviceaccount Default 运行,我无法弄清楚设置的配置位置。根据 Argo Helm Chart 提供的 README,指定init.serviceAccount为我创建的 serviceaccount 应该可以解决问题。解决方法是修改默认服务帐户,但似乎不是一个很好的解决方案。有什么我理解错误的吗?提前致谢。

kubernetes kubernetes-helm argoproj argo-workflows

3
推荐指数
1
解决办法
1234
查看次数

使用“资源”模板/步骤和“获取”操作在 Argo 工作流程中提取资源并传递到下游步骤?

我正在探索一种在 Argo 工作流程中读取 K8S 资源的简单方法。当前文档主要关注有条件的创建/补丁(https://argoproj.github.io/argo/examples/#kubernetes-resources),而我很好奇是否可以执行“action: get”,额外资源状态(或完整资源)的一部分,并将其作为工件或结果输出传递给下游。有任何想法吗?

kubernetes argo-workflows

3
推荐指数
1
解决办法
1838
查看次数

如何将脚本模板的结果作为输入参数传递给 argo 工作流程中 dag 中的另一个任务

我创建了一个WorkflowTemplate,其中我想将脚本模板的结果作为输入参数传递给另一个任务

这是我的WorkflowTemplate

apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
  name: dag-wft
spec:
  entrypoint: whalesay
  templates:
  - name: whalesay
    inputs:
      parameters:
        - name: message
          default: '["tests/hello", "templates/hello", "manifests/hello"]'
    dag:
      tasks:
        - name: prepare-lst
          template: prepare-list-script
          arguments:
            parameters:
              - name: message
                value: "{{inputs.parameters.message}}"

        - name: templates
          depends: prepare-lst
          templateRef:
            name: final-dag-wft
            template: whalesay-final
          arguments:
            parameters:
            - name: fnl_message
              value: "{{item}}"
          withParam: "{{tasks.prepare-lst.outputs.parameters.templates_lst}}"

        - name: manifests
          depends: prepare-lst && (templates.Succeeded || templates.Skipped)
          templateRef:
            name: final-dag-wft
            template: whalesay-final
          arguments:
            parameters:
            - name: fnl_message …
Run Code Online (Sandbox Code Playgroud)

kubernetes argo-workflows

3
推荐指数
1
解决办法
1960
查看次数

无法通过另一个工作流模板将输出参数从一个工作流模板传递到工作流

我有两个工作流程模板generate-outputlib-read-outputs一个工作流程,output-paramter如下所示

  1. generate-output.yaml
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
  name: generate-output
spec:
  entrypoint: main
  templates:
    - name: main
      dag:
        tasks:

          # Generate Json for Outputs
          - name: read-outputs
            arguments:
              parameters:
                - name: outdata
                  value: |
                    {
                      "version": 4,
                      "terraform_version": "0.14.11",
                      "serial": 0,
                      "lineage": "732322df-5bd43-6e92-8f46-56c0dddwe83cb4",
                      "outputs": {
                        "key_alias_arn": {
                          "value": "arn:aws:kms:us-west-2:123456789:alias/tetsing-key",
                          "type": "string",
                          "sensitive": true
                        },
                        "key_arn": {
                          "value": "arn:aws:kms:us-west-2:123456789:alias/tetsing-key",
                          "type": "string",
                          "sensitive": true
                        }
                      }
                    }
            template: retrieve-outputs

    # Create Json
    - name: retrieve-outputs
      inputs:
        parameters: …
Run Code Online (Sandbox Code Playgroud)

workflow kubernetes argoproj argo-workflows

3
推荐指数
1
解决办法
2740
查看次数

无法在 Argo 工作流程中使用 jsonpath 函数作为输出参数

我有一个工作流程,其中使用jsonpath输出参数的函数从 json 字符串中提取特定值,但由于此错误而失败Error (exit code 255)

这是我的工作流程

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: wf-dev-
spec:
  entrypoint: main
  templates:
    - name: main

      dag:
        tasks:
          - name: dev-create
            templateRef:
              name: dev-create-wft
              template: main
            arguments:
              parameters:
                - name: param1
                  value: "val1"

          - name: dev-outputs
            depends: dev-create.Succeeded
            templateRef:
              name: dev-outputs-wft
              template: main
            arguments:
              parameters:
                - name: devoutputs
                  value: "{{=jsonpath(tasks.dev-create.outputs.parameters.devoutputs, '$.alias.value')}}"
Run Code Online (Sandbox Code Playgroud)

在上面的工作流任务中dev-create调用另一个工作流模板dev-create-wft,它返回另一个工作流模板的输出

这是我的工作流程模板

apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
  name: dev-create-wft

spec:
  entrypoint: main
  templates:
    - name: main
      outputs: …
Run Code Online (Sandbox Code Playgroud)

kubernetes argoproj argo-workflows

3
推荐指数
1
解决办法
3368
查看次数

为什么我不能使用base.Select在List <string>的子类中使用Linq Select?

如果我实例化我的子类List<string>,那么我可以使用Linq的Select方法.

using System.Linq;

namespace LinqProblem
{
    class Program
    {
        static void Main(string[] args)
        {
            BetterList list = new BetterList();
            list.Select(l => l.ToString() == "abc");  // no compile error
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试在子类的定义中使用Select ...

using System.Collections.Generic;
using System.Linq;

namespace LinqProblem
{
    class BetterList : List<string>
    {
        public List<string> Stuff
        {
            get
            {
                base.Select(l => l.ToString() == "abc");  // compile error
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

错误:

' List<string>'不包含'Select'的定义.

为什么会出现这种情况,是否有解决方法?

.net c# linq

2
推荐指数
1
解决办法
1007
查看次数

使用输出语句插入已删除的数据以及一些硬编码值

我想将行从一个表移动到另一个表,delete from [foo] output deleted.[col] into [bar] (col)看起来是一个不错的选择.

但是列不完全相同.所以我想在目标表中插入一些硬编码值(理想情况下是编程确定的值).

我设置了几张表来演示.

create table delete_output_test (
    thing1 int not null,
    thing2 varchar(50),
    thing3 varchar(50)
)

create table delete_output_test2 (
    thing1 int not null,
    thing2 varchar(50),
    thing3 varchar(50),
    thing4 int
)

insert into delete_output_test values (0, 'hello', 'world'),
                                      (1, 'it''s', 'me'),
                                      (2, 'i', 'was'),
                                      (3, 'wondering', 'if')
Run Code Online (Sandbox Code Playgroud)

如果我不太需要,现在从一张桌子移动到另一张桌子工作正常......

delete from delete_output_test2
output deleted.thing1,
       deleted.thing2,
       deleted.thing3
into delete_output_test
       (thing1,
        thing2,
        thing3)
Run Code Online (Sandbox Code Playgroud)

但是,如果我想填充最后一列怎么办?

delete from delete_output_test2
output deleted.thing1,
       deleted.thing2,
       deleted.thing3
into delete_output_test
       (thing1, …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

2
推荐指数
1
解决办法
98
查看次数

“进行中的请求”对网络浏览器意味着什么?

我试图在浏览器加载网页的上下文中破译“飞行中请求”的含义:

查找第一个交互式窗口,其中有 5 秒的连续时间完全包含在交互式窗口中且不超过2 个进行中的请求

它是指 HTTP 请求吗?如果是这样,飞行中的请求和任何其他类型的请求有什么区别?

performance http

2
推荐指数
1
解决办法
4208
查看次数

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

看起来,当我使用 删除 Argo cron 工作流时argo cron delete,根据我的观察,所有以前的工作流(已完成以及仍在运行的工作流)也将被删除。我不完全确定,我还没有找到比https://argoproj.github.io/argo/cli/argo_cron_delete/更详细的文档。

如果我想在更新 cron 工作流的频率时保留所有历史工作流,例如每周一而不是每天运行,该怎么办?进行此类更新的推荐方法是什么?

kubernetes argo-workflows argo-cron-workflows

2
推荐指数
1
解决办法
678
查看次数

子字符串匹配条件时的 Argo 工作流程

如果字符串以特定子字符串开头,我想在 Argo 工作流程中执行任务。例如,我的字符串是tests/dev-or.yaml,如果我的字符串以以下开头,我想执行任务tasks/

这是我的工作流程,但条件没有得到正确验证

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: conditional-
spec:
  entrypoint: conditional-example
  arguments:
    parameters:
    - name: should-print
      value: "tests/dev-or.yaml"

  templates:
  - name: conditional-example
    inputs:
      parameters:
      - name: should-print
    steps:
    - - name: print-hello
        template: whalesay
        when: "{{inputs.parameters.should-print }} startsWith 'tests/'"

  - name: whalesay
    container:
      image: docker/whalesay:latest
      command: [sh, -c]
      args: ["cowsay hello"]
Run Code Online (Sandbox Code Playgroud)

以下是我运行工作流程时出现的错误

WorkflowFailed 7s workflow-controller  Invalid 'when' expression 'tests/dev-or.yaml startsWith 'tests/'': Unable to access unexported field 'yaml' in token 'or.yaml'
Run Code Online (Sandbox Code Playgroud)

似乎它不接受-, .yaml …

conditional-statements kubernetes argocd argo-workflows

2
推荐指数
1
解决办法
6816
查看次数