Hera 项目使用指南
1. 项目介绍
Hera 是一个由 优快云 公司开发的 Python SDK,旨在简化 Argo Workflows 的使用。它允许开发者将 Python 函数轻松转换为在 Kubernetes 上运行的容器化模板,同时完全访问 Kubernetes 的功能。Hera 通过提供原生 Python 集成,使得构建和提交工作流变得简单直观。
2. 项目快速启动
首先,确保您的环境中已经安装了 Kubernetes 和 Argo Workflows。以下是快速启动 Hera 项目的步骤:
from hera.workflows import DAG, Workflow, script
# 使用 script 装饰器将函数转换为可重用的 "Script template"
@script()
def echo(message: str):
print(message)
# 工作流编排逻辑位于业务逻辑之外
with Workflow(generate_name="dag-diamond-", entrypoint="diamond") as w:
with DAG(name="diamond"):
A = echo(name="A", arguments={"message": "A"})
B = echo(name="B", arguments={"message": "B"})
C = echo(name="C", arguments={"message": "C"})
D = echo(name="D", arguments={"message": "D"})
A >> [B, C] >> D
# 在您的 Argo Workflows 集群上直接创建工作流
w.create()
确保已经正确配置了 Argo Workflows 的认证信息,可以通过以下代码进行配置:
from hera.workflows import Workflow, Container
from hera.shared import global_config
from hera.auth import ArgoCLITokenGenerator
global_config.host = "http://localhost:2746"
global_config.token = ArgoCLITokenGenerator()
with Workflow(generate_name="local-test-", entrypoint="c") as w:
Container(name="c", image="docker/whalesay", command=["cowsay", "hello"])
w.create()
3. 应用案例和最佳实践
- 数据科学工作流:使用 Hera,数据科学家可以轻松地将数据处理和分析工作流容器化,并利用 Kubernetes 的扩展性和 Argo Workflows 的编排能力。
- 持续集成/持续部署 (CI/CD):通过 Hera,可以将 CI/CD 流程自动化,实现代码的自动化测试、构建和部署。
4. 典型生态项目
Hera 作为一个开源项目,与多个开源生态系统项目相集成,例如:
- Great Expectations:用于数据验证,确保数据质量。
- ArgoCD:用于声明式 GitOps,自动化应用程序的部署。
以上是 Hera 项目的简要介绍和快速启动指南。要深入了解和开始使用 Hera,请参考项目的官方文档和教程。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考