Argo客户端工作流
argo-workflows-fvdnabee的Python项目详细描述
Argo工作流客户端
用于Argo工作流的Python客户端
安装
pip install argo-workflows
使用
如果您熟悉Kubernetes客户机,Argo客户机也会遵循相同的行为。在
^{pr2}$以及列出来自命名空间的工作流(例如argo
):
v1alpha1=V1alpha1Api()wfs=v1alpha1.list_namespaced_workflows(namespace="argo")
要提交Workflow
,只需从YAML*将其加载并按如下方式提交:
importrequestsimportyamlnamespace="argo"# hello-world exampleresp=requests.get("https://raw.githubusercontent.com/argoproj/argo/master/examples/hello-world.yaml")resp.raise_for_status()manifest:dict=yaml.safe_load(resp.text)# Submit the Workflow to the `argo` namespacev1alpha1.create_namespaced_workflow(namespace,manifest)
*在处理更高级别的抽象时,请查看Argo Python DSL
版本控制
客户机是根据Argo和Kubernetes OpenAPI规范生成的。在
我们遵循语义版本控制,客户机从版本1.0
开始,该版本与Argo发行版2.3.0
匹配,并继续进行。在
兼容性矩阵
Argo 2.3 | Argo 2.4 | Argo 2.5 | |
---|---|---|---|
client-python 1.0 | ✓ | - | - |
client-python 2.0 | + | ✓ | - |
client-python 3.0 | + | + | ✓ |
密钥:
✓
客户端python和Kubernetes中的特性/API对象完全相同 版本。在+
客户端python中可能没有的特性或api对象 Kubernetes集群,但它们的所有共同点都会起作用。在-
Kubernetes集群具有客户端python库无法使用的特性 (其他API对象等)。在
{{a3}为了方便起见,我们尽量使用Argo来创建分支。在
然后可以直接从github安装:
pip install -e "git+git://github.com/CermakM/argo-client-python@argo/v2.4.0#egg=argo-workflows"
:warning: The compatibility for such cases is not guaranteed
代码生成
如果希望自己生成代码,可以通过运行make generate
,并将ARGO_VERSION
环境变量设置为要为其生成客户端的。在
之前
在生成文件中:
- 确保根据Argo的Gopkg.toml选择一个兼容的
KUBERNETES_BRANCH
- 请确保选择kubernetes-client的兼容版本
- 更新requirements.txt和Pipfile
有关其他配置,请查看Makefile。在
- 项目
标签: