Vertex AI调度Kubeflow流水线遇503错误:Scheduler Job立即失败求助
问题:Vertex AI中Kubeflow调度流水线出现503错误的解决思路
已在Vertex AI中通过Kubeflow成功训练并部署检索模型流水线,尝试通过以下代码每8分钟调度一次流水线运行:
from kfp.v2.google.client import AIPlatformClient api_client = AIPlatformClient(project_id='my-project', region='us-central1') api_client.create_schedule_from_job_spec( job_spec_path='vacantes_pipeline.json', schedule="/8 * * * *", # every 8 minutes time_zone='America/Sao_Paulo', parameter_values={ "epochs_": 5, "embed_length":768, "maxsplit_" : 130 } )
JSON文件生成成功,但调度任务立即失败,日志显示HTTP 503错误:
jsonPayload: { @type: "type.googleapis.com/google.cloud.scheduler.logging.AttemptFinished" jobName: "projects/my-project/locations/us-central1/jobs/pipeline_vacantes-pipeline-with-deployment_c7e98a8f_59-14-a-a-a" status: "UNAVAILABLE" targetType: "HTTP" url: "https://us-central1-bogotatrabaja.cloudfunctions.net/templated_http_request-v1" }
解决思路
- 修正Cron表达式:当前使用的
/8 * * * *格式错误,每8分钟执行的正确表达式应为*/8 * * * *,缺少开头的*会导致调度规则无效,触发异常请求。 - 检查目标Cloud Function状态:
- 确认
templated_http_request-v1函数是否正常部署并处于运行状态,在Cloud Functions控制台查看其健康状态与执行日志,排查启动失败或资源不足问题。 - 验证Cloud Scheduler服务账号权限:确保
service-<PROJECT_NUMBER>@gcp-sa-cloudscheduler.iam.gserviceaccount.com拥有roles/cloudfunctions.invoker角色,允许调用该Cloud Function。
- 确认
- 验证流水线本身可用性:手动通过Vertex AI控制台触发
vacantes_pipeline.json定义的流水线,确认流水线能正常运行,排除流水线配置本身的问题。 - 检查网络配置:若Cloud Function配置了VPC私有访问,需确认Cloud Scheduler所在网络可访问该VPC;若无需私有网络,可将Cloud Function调整为允许公网访问。
- 调整资源与重试策略:
- 503错误可能源于临时资源不足,可在Cloud Scheduler配置中增加重试次数与间隔。
- 检查Cloud Function的资源分配(内存、CPU)是否足够处理流水线触发请求,必要时提升资源配额。
- 确认服务账号权限:确保创建调度的账号拥有
roles/aiplatform.admin、roles/cloudscheduler.admin等必要角色,具备操作Vertex AI流水线与Cloud Scheduler的权限。
内容的提问来源于stack exchange,提问作者razimbres
相关产品推荐
相关产品推荐

