如何仅用kubectl从CronWorkflow创建Workflow(类比CronJob生成Job)
仅用kubectl基于CronWorkflow创建Workflow
你可以通过导出CronWorkflow配置并调整为Workflow格式的方式实现,具体步骤如下:
导出目标CronWorkflow的配置
先获取CronWorkflow的完整YAML定义,输出到本地文件方便修改:kubectl get cronworkflow <你的CronWorkflow名称> -o yaml > manual-workflow.yaml将配置转换为Workflow格式
打开生成的manual-workflow.yaml文件,完成以下关键修改:- 修改资源类型:将开头的
kind: CronWorkflow替换为kind: Workflow(API版本保持argoproj.io/v1alpha1不变) - 移除定时专属字段:删除
spec下的schedule、suspend、startingDeadlineSeconds、concurrencyPolicy这些仅CronWorkflow使用的定时配置项 - 设置唯一名称:在
metadata.name中指定一个新的Workflow名称,避免与现有资源冲突
- 修改资源类型:将开头的
创建手动触发的Workflow
确认修改无误后,用kubectl创建Workflow:kubectl apply -f manual-workflow.yaml
如果不想保存本地文件,也可以用管道命令快速完成:
kubectl get cronworkflow <你的CronWorkflow名称> -o yaml | \ sed 's/kind: CronWorkflow/kind: Workflow/' | \ sed -e '/schedule:/d' -e '/suspend:/d' -e '/startingDeadlineSeconds:/d' -e '/concurrencyPolicy:/d' | \ kubectl create -f -
内容的提问来源于stack exchange,提问作者stianlagstad
相关产品推荐
相关产品推荐

