新闻详情

新闻详情

首页 / 资讯中心 / 详情

Argo Workflows Java SDK 模型详解:IoArgoprojWorkflowV1alpha1Column 与 Workflow List View 自定义列实战

发布时间:2026/10/25 4:32:50来源:尧图网络
Argo Workflows Java SDK 模型详解:IoArgoprojWorkflowV1alpha1Column 与 Workflow List View 自定义列实战
云原生容器编排工作流自动化任务调度后端【免费下载链接】argo-workflowsWorkflow Engine for Kubernetes项目地址https://gitcode.com/gh_mirrors/ar/argo-workflows点击查看免费下载Column 是 Argo Workflows 中用于在 Workflow List View工作流列表视图中暴露自定义列的数据模型允许用户在列表上直接查看工作流标签label或注解annotation的值。本文以 Java SDK 客户端文档页IoArgoprojWorkflowV1alpha1Column为核心完整解析该模型的三个字段并结合仓库源码与 controller 配置讲解如何在 Argo Workflows 中配置自定义列、理解其端到端数据流以及在 Java 客户端中操作该模型。Column 是什么Workflow List View 中的自定义列根据 Java SDK 文档页 IoArgoprojWorkflowV1alpha1Column 的定义Column is a custom column that will be exposed in the Workflow List View.即Column 是将在工作流列表视图中暴露出来的自定义列。它解决的核心问题是Argo Workflows UI 的 Workflow List View 默认只展示状态、命名空间、名称、时长、进度、消息等固定列而当用户希望直接在列表页看到工作流上某个标签如workflows.argoproj.io/completed或注解的值时就需要通过 Column 模型来声明这一列。该能力在 configmap 注释中被标注为 available since Argo v3.5自 Argo v3.5 起可用参见 docs/workflow-controller-configmap.yaml。模型字段完整解析Column 模型共包含三个字段全部为字符串类型。以下表格完整继承自原文档NameTypeDescriptionNoteskeyStringThe key of the label or annotation, e.g.workflows.argoproj.io/completed.nameStringThe name of this column, e.g.Workflow Completed.typeStringThe type of this column,labelorannotation.三个字段的分工非常清晰name列在 UI 中显示的表头名称例如Workflow Completed是用户可读的展示文本type声明该列的数据来源类型只能是label或annotation二选一决定了key的取值空间key实际要读取的标签或注解的键名例如 Argo 内置的完成标记workflows.argoproj.io/completed。源码中的 Go 结构定义该模型在 Go 侧定义于 pkg/apis/workflow/v1alpha1/info.go// Column is a custom column that will be exposed in the Workflow List View. // patchStrategymerge // patchMergeKeyname type Column struct { // The name of this column, e.g., Workflow Completed. Name string json:name protobuf:bytes,1,opt,namename // The type of this column, label or annotation. Type string json:type protobuf:bytes,2,opt,nametype // The key of the label or annotation, e.g., workflows.argoproj.io/completed. Key string json:key protobuf:bytes,3,opt,namekey }注意结构体上的两个代码生成标记patchStrategymerge声明该结构支持 merge 合并策略patchMergeKeyname声明 merge 时以name字段作为合并键。也就是说当通过 ConfigMap 或 API 下发多组自定义列时系统会以列名name作为唯一标识来合并/去重。同一结构还派生出了 Proto 定义pkg/apis/workflow/v1alpha1/generated.proto、OpenAPI Schemapkg/apis/workflow/v1alpha1/openapi_generated.go、序列化实现pkg/apis/workflow/v1alpha1/generated.pb.go以及深拷贝方法pkg/apis/workflow/v1alpha1/zz_generated.deepcopy.go这些全部由代码生成器产出保证了 Go、Proto、OpenAPI 三套描述的一致性而 Java SDK 正是从这套 OpenAPI/Proto 描述生成而来。Java SDK 中的模型使用本页文档位于 Java SDK 客户端文档目录 sdks/java/client/docs/类名IoArgoprojWorkflowV1alpha1Column遵循 Argo Workflows OpenAPI 生成的命名规范IoArgoprojWorkflowV1alpha1前缀对应 Go 包路径github.com/argoproj/argo-workflows/pkg/apis/workflow/v1alpha1后接模型名Column。作为生成型客户端模型IoArgoprojWorkflowV1alpha1Column通常具备与字段一一对应的访问方法如getName/setName、getType/setType、getKey/setKey可直接在 Java 程序中构建自定义列描述。典型的构造方式可以理解为IoArgoprojWorkflowV1alpha1Column column new IoArgoprojWorkflowV1alpha1Column() .name(Workflow Completed) .type(label) .key(workflows.argoproj.io/completed);随后将该对象放入对应请求的 columns 集合中即可。需要说明的是这里描述的访问方法命名规律是从生成型 SDK 的通用模式推断的具体方法签名请以仓库中 sdks/java/client 实际生成的源码为准。配置实战在 Workflow List View 中启用自定义列Column 的生效位置在 Argo Workflows controller 的 ConfigMap 配置中。Controller 配置结构体在 config/config.go 中定义// Columns are custom columns that will be exposed in the Workflow List View. Columns []*wfv1.Column json:columns,omitempty对应的配置示例完整继承自 docs/workflow-controller-configmap.yaml# workflow-controller-configmap 中 # Columns are custom columns that will be exposed in the Workflow List View. # (available since Argo v3.5) columns: | # Adds a column to the Workflow List View - # The name of this column, e.g., Workflow Completed. name: Workflow Completed # The type of this column, label or annotation. type: label # The key of the label or annotation, e.g., workflows.argoproj.io/completed. key: workflows.argoproj.io/completed配置要点columns位于workflow-controller-configmap中值为一段 YAML 列表注意示例中的|块标量语法每个列表项就是一个Column包含name、type、key三个必填字段type的合法取值只有label和annotation二者分别对应工作流对象的metadata.labels与metadata.annotationskey必须与所选 type 匹配——若 type 为label则 key 必须是工作流上真实存在的标签键否则列表页该列将显示为空。配置完成后重启或热加载 workflow-controller即可在 Argo UI 的 Workflow List View 中看到新增的自定义列。字段级的详细说明还可参考 docs/fields.md 中的 Column 条目以及 docs/workflow-controller-configmap.md 中关于Columns配置行的说明。从配置到渲染端到端数据流源码解析理解 Column 如何在列表页最终呈现有助于排查配置不生效的问题。从源码结构看其完整链路如下配置注入workflow-controller-configmap中的columns被解析进 config/config.go 的ControllerConfig.Columns类型为[]*wfv1.ColumnAPI 下发argo-server 通过 info 接口将 columns 随配置信息一起暴露给前端前端对应的类型定义在 ui/src/shared/models/info.tsexport interface Column { name: string; type: string; key: string; } export interface Info { // ... columns: Column[]; }可以看到 TypeScript 侧模型与 Java SDK 模型、Go 结构体保持了完全一致的三个字段name/type/key这正体现了同源代码生成带来的跨语言一致性列表渲染Workflow List View 的头部组件 ui/src/workflows/components/workflow-details-list/workflow-details-list.tsx 接收columns: models.Column[]在渲染内置的 STATUS、NAME、NAMESPACE、DURATION、PROGRESS、MESSAGE、DETAILS、ARCHIVED 等固定列之后通过(props.columns || []).map(col ...)动态追加自定义列并以col.key作为 React 列表的 key 值。从该渲染逻辑可以推断自定义列的顺序即配置中 columns 列表的声明顺序会紧跟在固定列之后展示每列会去工作流上按typelabel/annotation与key取值作为单元格内容。使用注意事项版本前提该功能自 Argo v3.5 起可用低于该版本的部署不会解析columns配置依据 docs/workflow-controller-configmap.yaml 的注释字段合法性type只能取label或annotationkey必须是目标工作流上真实存在的对应键二者不匹配时列会显示为空值合并语义由于结构体声明了patchMergeKeyname自定义列以name为合并标识配置中应避免出现重复的列名跨语言一致性Go 结构体、Proto、OpenAPI Schema、Java SDK 模型、前端 TypeScript 接口五处定义均由同一结构派生修改列模型属于 API 变更需走完整的代码生成与版本兼容流程模型本身无校验逻辑从 pkg/apis/workflow/v1alpha1/info.go 看Column 是纯数据描述结构不包含字段校验逻辑合法性校验依赖配置来源侧的约定。小结IoArgoprojWorkflowV1alpha1Column虽然只是 Argo Workflows 中一个仅含三个字符串字段的小模型但它串起了从 ConfigMap 配置、Controller 配置结构、OpenAPI/Proto 定义、Java SDK 客户端到前端列表渲染的完整链路。掌握它的字段语义name 为显示名、type 限定 label/annotation、key 定位数据来源即可在 Workflow List View 中低成本地扩展出面向自己业务标签的自定义列让工作流状态在列表页一目了然。赞分享云原生容器编排工作流自动化任务调度后端【免费下载链接】argo-workflowsWorkflow Engine for Kubernetes项目地址https://gitcode.com/gh_mirrors/ar/argo-workflows点击查看免费下载相关推荐Argo Workflows Java SDK 详解IoArgoprojWorkflowV1alpha1WorkflowTemplateList 列表模型Argo Workflows Java SDK 详解IoArgoprojWorkflowV1alpha1WorkflowTemplateList 列表模型 本云原生容器编排工作流自动化任务调度后端Argo Workflows Java SDK 指南IoArgoprojWorkflowV1alpha1WorkflowCreateRequest 详解与 Workflow 创建实战Argo Workflows Java SDK 指南IoArgoprojWorkflowV1alpha1WorkflowCreateRequest 详解与 W云原生容器编排工作流自动化任务调度后端Argo Workflows Java SDK 中的 CephFSVolumeSource在 Workflow 中定义 CephFS 卷的字段详解与实战Argo Workflows Java SDK 中的 CephFSVolumeSource在 Workflow 中定义 CephFS 卷的字段详解与实战 本篇云原生容器编排工作流自动化任务调度后端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/10/25 3:20:41

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/10/25 3:43:49

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/10/25 4:02:17

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/10/24 4:32:58

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/10/25 3:54:32

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/10/23 14:14:34

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉