如何用 Prefect Managed 基础设施运行 flow 而不自建 worker

发布时间:2026/9/15 11:55:40
如何用 Prefect Managed 基础设施运行 flow 而不自建 worker 如何用 Prefect Managed 基础设施运行 flow 而不自建 worker【免费下载链接】prefectPrefect is a workflow orchestration framework for building resilient data pipelines in Python.项目地址: https://gitcode.com/GitHub_Trending/pr/prefect如果你的 flow 需要部署到远端运行但既不想在自己的机器上启动 worker 进程也不想在 AWS、GCP 等云厂商账号里配置执行环境Prefect Cloud 提供的 Prefect Managed work pool 可以代替你处理这一切由 Prefect 托管的基础设施负责启动容器并执行 flow 代码你只需要本地有已登录 Prefect Cloud 的 CLI以及把 flow 代码存放在远端可访问的位置。本文基于仓库文档 How to run flows on Prefect Managed infrastructure 完成一次完整的 managed 部署与运行创建prefect:managed类型的 work pool创建指向它的 deployment触发一次 flow run并说明依赖安装、网络放行与资源限制等边界条件。前提条件本地 CLI 已认证到 Prefect Cloud workspace。交互式终端下运行prefect cloud login通过浏览器授权或粘贴 API key 完成登录API key 的创建方法见 Manage API keys。非交互环境CI、容器中使用prefect cloud login --key my-api-key --workspace account-handle/workspace-handleflow 代码必须存放在远端可访问的位置。Prefect 支持 git 类云仓库GitHub、Bitbucket、GitLab也支持 S3、GCS、Azure Blob 等远端 block 存储。Managed 执行不会使用你本机的代码目录。Managed 执行要求 flow 运行在官方 Prefect Docker 镜像上例如prefecthq/prefect:3-latest。Python 包依赖可以在运行时安装但如果你必须使用自定义镜像文档建议改用其他类型的 work pool。创建 Prefect Managed work pool在 UI 或 CLI 中创建一个新 work pool类型选prefect:managed。CLI 命令为prefect work-pool create my-managed-pool --type prefect:managed创建后运行prefect work-pool ls确认输出中列出了my-managed-pool该验证方式与 Docker work pool 指南中的确认步骤一致即可进入下一步。创建 deployment 并指向 managed work pool用 flow 的.deploy方法创建 deployment通过from_source指定远端代码来源并在work_pool_name中指定刚创建的 managed poolfrom prefect import flow if __name__ __main__: flow.from_source( sourcehttps://github.com/prefecthq/demo.git, entrypointflow.py:my_flow, ).deploy( nametest-managed-flow, work_pool_namemy-managed-pool, )其中source是文档示例使用的 GitHub 仓库地址替换为你自己的远端代码仓库entrypoint是 flow 所在文件路径与函数名用冒号分隔。在 CLI 已登录 workspace 的终端中运行脚本创建 deploymentpython managed-execution.py可选在运行时安装 Python 依赖flow 运行时用到的第三方包不必预打进镜像Prefect 可以在执行时安装到运行 flow 的容器中。两种方式在创建 deployment 时通过job_variables指定pip_packagesfrom prefect import flow if __name__ __main__: flow.from_source( sourcehttps://github.com/prefecthq/demo.git, entrypointflow.py:my_flow, ).deploy( nametest-managed-flow, work_pool_namemy-managed-pool, job_variables{pip_packages: [pandas, prefect-aws]} )或者创建requirements.txt文件并在prefect.yaml的 pull step 中引用它见 prefect.yaml 文档。运行 deployment 并确认结果deployment 创建成功后可以从 UI 或 CLI 触发运行。CLI 的最简触发命令来自 Trigger ad-hoc deployment runsprefect deployment run my-flow/test-managed-flow --watchmy-flow/test-managed-flow中前半段是 deployment 对应的 flow 名后半段是上一步deploy(name...)指定的 deployment 名请按你的实际名称替换。--watch会持续观察该次运行直到完成。触发后flow run 在 Prefect 托管的基础设施上启动并执行——整个过程不需要启动 worker也不需要任何云厂商账号。你可以在 UI 的 flow run 记录中查看运行状态、日志和最终结果。网络为 flow 出网流量放行静态 IP如果你的环境有防火墙限制flow 运行时的出站流量使用以下静态出口 IP不同 flow run 之间可能不同需要把这 6 个source地址全部加入防火墙规则flow 才能与你的环境通信184.73.85.13452.4.218.19844.217.117.7418.233.38.23654.227.144.9450.19.165.169资源与限制文档明确给出的每个 flow run 资源配额与边界如下设计 flow 时需要留意每个 flow run 固定获得 4 vCPUs、16 GB 内存、128 GB 临时存储单次 flow run 最长运行 24 小时每个 workspace 每月有计算用量上限按月重置。计算用量指从计算环境启动到拆除的时长向上取整到分钟约等于 flow run 从PENDING到COMPLETED的时长但不完全相等。可选分支无静态凭证访问 AWS如果 flow 或 pull step 需要访问 AWS 服务Managed work pool 支持通过 web identity federation 让 Prefect Cloud 假设你配置的 AWS IAM role并向每次运行注入临时凭证AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_SESSION_TOKEN、AWS_REGION无需在 Prefect Cloud 中保存静态 access key。完整配置步骤见 Using cloud workload identity with Prefect Managed work pools。限制与下一步必须使用官方 Prefect 镜像如prefecthq/prefect:3-latest无法使用自定义镜像需要自定义镜像时serverless push work pools 是文档推荐的替代路径同样不需要你运行 worker。代码必须能放在远端存储中本地目录不能作为 managed 执行的代码来源。如需了解其他执行方式如本地容器内运行 flow继续阅读 Run flows in Docker containers。【免费下载链接】prefectPrefect is a workflow orchestration framework for building resilient data pipelines in Python.项目地址: https://gitcode.com/GitHub_Trending/pr/prefect创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询