首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将argo工作流cron安装为舵机图表

无法将argo工作流cron安装为舵机图表
EN

Stack Overflow用户
提问于 2021-02-08 17:38:54
回答 1查看 597关注 0票数 1

我想安装一个argo工作流模板和工作流cron作业作为舵机图表。helm命令说已经安装了图表。但是我看到只有工作流模板被部署了,而cron作业却没有。

文件夹结构:

代码语言:javascript
复制
Argo_helm
 |- templates
     |-azure-migration-cron-etl.yaml
     |-azure-migration-etl-template.yaml
 |-Chart.yaml
 |-values.yaml

当执行helm命令时,我看到如下

代码语言:javascript
复制
 helm upgrade --install argo-helm-charts --values values.yaml . 

WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /Users/e192270/.kube/config
WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /Users/e192270/.kube/config
Release "argo-helm-charts" does not exist. Installing it now.
NAME: argo-helm-charts
LAST DEPLOYED: Mon Feb  8 11:28:01 2021
NAMESPACE: argo
STATUS: deployed
REVISION: 1
TEST SUITE: None

当我列出模板时,我可以看到它。

代码语言:javascript
复制
$ argo template list   
                                                                                                               
NAME
test-azure-migration

但是无法看到cron作为图表的一部分安装。

代码语言:javascript
复制
argo cron list -n argo 
NAME              AGE   LAST RUN   NEXT RUN   SCHEDULE      SUSPENDED

==========================================================================

(azure-migration-cron-etl.yaml) cron代码

代码语言:javascript
复制
apiVersion: argoproj.io/v1alpha1
kind: CronWorkflow
metadata:
  name: {{ .Values.workflow_name }}
  namespace: {{ .Values.workflow_namespace }}
  labels:
    workflows.argoproj.io/controller-instanceid: fp
spec:
  schedule: "0 1 * * *"
  timezone: "America/Chicago"
  workflowSpec:
    entrypoint: sparkdatabricks-app
    metrics:
      prometheus:
        - name: dim_bud_etl_duration
          labels:
            - key: team
              value: foundational-projects-data-eng
          help: "Duration of dim_bud etl"
          gauge:
            value: "{{`{{workflow.duration}}`}}"
    serviceAccountName: argo-s3-service-account
    volumes:
      - name: bearer-token
        secret:
          secretName: databricks-bearer-token-ophie
    templates:
      - name: sparkdatabricks-app
        steps:
          - - name: create-databricks-cluster
              templateRef:
                name:  azure-migration-template
                template: databricks-api
              arguments:
                parameters:
                  - name: databricks-api-command
........
.......

(azure-migration-etl-template.yaml)模板代码

代码语言:javascript
复制
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
  name: {{ .Values.workflow_template_name}}
  namespace: argo
spec:
  entrypoint: databricks-api
  serviceAccountName: fp-argo-workflow
  arguments:
    parameters:
      - name: databricks-api-command
        value: ""
  templates:
    - name: databricks-api
      inputs:
        parameters:
          - name: databricks-api-command
      container:
        image: basic-ubuntu:1.0.0
        imagePullPolicy: Always
        command: [sh,-c]
        args: [{{`"{{inputs.parameters.databricks-api-command}}"`}}]
        env:
          - name: BEARER
            valueFrom:
              secretKeyRef:
                name: databricks-bearer-token-ophie
                key: bearer
          - name: ACCOUNT
            valueFrom:
              secretKeyRef:
                name: databricks-bearer-token-ophie
                key: account
        volumeMounts:
          - name: bearer-token
            mountPath: "/secret/mountpath"
      outputs:
        parameters:
          - name: id       # can be any id depends on what databricks api call it is
            valueFrom:
              path: /tmp/info.txt

values.yaml

代码语言:javascript
复制
workflow_name: v-dim-bud-test
workflow_namespace: argo
workflow_template_name: test-azure-migration
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-08 19:02:19

Argo允许您使用通过添加多个工作流控制器垂直缩放。每个控制器都获得一个“实例ID”。

您的CronWorkflow指定fp工作流控制器实例。

代码语言:javascript
复制
apiVersion: argoproj.io/v1alpha1
kind: CronWorkflow
metadata:
  name: {{ .Values.workflow_name }}
  namespace: {{ .Values.workflow_namespace }}
  labels:
    workflows.argoproj.io/controller-instanceid: fp

要列出由CronWorkflows工作流控制器实例管理的fp,请使用--instanceid参数:

代码语言:javascript
复制
$ argo cron list -n argo --instanceid fp
NAME             AGE   LAST RUN   NEXT RUN   SCHEDULE    SUSPENDED
v-dim-bud-test   3m    N/A        12h        0 1 * * *   false
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66106562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档