如果绝望,可以将 Argo Workflows 视为一种在 YAML 中实现并使用 Kubernetes 作为后端的编程语言。
- 可以使用定义一个过程
steps:
- 函数是具有两种形式的参数的模板:
- 参数,它们是字符串
- Artifacts,由某些工具共享的文件,例如 S3 或 NFS
- 有流量控制
- 条件由以下方式实现
when:
- 迭代器由
withSequence:
and实现withItems:
- 递归可以通过模板调用自己
- 条件由以下方式实现
模板在某种程度上直接映射到 Kubernetes YAML 规范。参数似乎通过注释共享,而工件则通过原生 Kubernetes 功能共享。
流量控制是如何实现的?Argo 使用 Kubernetes 的哪些功能来实现这一点?它与 Kubernetes 控制平面有关吗?