服务器配置

管理 Kubeflow Pipelines 实例的指南

默认情况下,可以使用提供的 Kubeflow Pipelines 部署清单,其目标是为大多数用例提供标准配置。同时,也为更高级的用法提供了自定义选项。

部署 Kubeflow Pipelines 服务器时,可以传递各种环境变量来自定义服务器的行为。

前端服务器

部署名为 ml-pipeline-ui 的前端服务器时,可以传递各种环境变量来自定义服务器在你命名空间中的行为。部分示例可见于 ml-pipeline-ui-deployment.yaml

Artifact 存储端点允许列表

你可以配置 ALLOWED_ARTIFACT_DOMAIN_REGEX 来允许前端服务器从中获取 Artifact 的对象存储端点。如果前端服务器尝试获取的域与 ALLOWED_ARTIFACT_DOMAIN_REGEX 中定义的正则表达式不匹配,则会向用户返回请求域不被允许的错误。

独立 Kubeflow Pipelines 部署

默认情况下,ALLOWED_ARTIFACT_DOMAIN_REGEX 的值为 "^.*$"。你可以为用户自定义此值,例如在 ml-pipeline-ui-deployment.yaml 中设置为 "^.*.yourdomain$"

完整 Kubeflow 部署

对于完整 Kubeflow 部署,每个命名空间对应一个同名项目。要为用户命名空间配置 ALLOWED_ARTIFACT_DOMAIN_REGEX 值,请在 ml-pipeline-ui-artifact 中添加一个条目,就像 sync.py 中关于 ALLOWED_ARTIFACT_DOMAIN_REGEX 环境变量的这个示例一样,该条目与独立 Kubeflow Pipelines 部署中的环境变量说明相同。

代理

自 KFP 2.5 起,你可以通过在 API Server 部署中设置以下任一环境变量(大写)来为后端配置服务器作用域的代理。所有变量都是可选的。

  • HTTP_PROXY
  • HTTPS_PROXY
  • NO_PROXY

如果设置了 HTTP_PROXYHTTPS_PROXY 但未设置 NO_PROXYNO_PROXY 将自动设置为 localhost,127.0.0.1,.svc.cluster.local,kubernetes.default.svc,metadata-grpc-service,0,1,2,3,4,5,6,7,8,9

API Server 部署设置了 HTTP_PROXYHTTPS_PROXYNO_PROXY 的示例

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: ml-pipeline
    application-crd-id: kubeflow-pipelines
  name: ml-pipeline
  namespace: kubeflow
spec:
  selector:
    matchLabels:
      app: ml-pipeline
      application-crd-id: kubeflow-pipelines
  template:
    metadata:
      annotations:
        cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
      labels:
        app: ml-pipeline
        application-crd-id: kubeflow-pipelines
    spec:
      containers:
      - env:
        - name: HTTP_PROXY
          value: http://squid.squid.svc.cluster.local:3128
        - name: HTTPS_PROXY
          value: http://squid.squid.svc.cluster.local:3128
        - name: NO_PROXY
          value: localhost,127.0.0.1,.svc.cluster.local,kubernetes.default.svc,metadata-grpc-service,0,1,2,3,4,5,6,7,8,9

反馈

本页是否有帮助?


最后修改于 2025 年 4 月 14 日: pipelines: Added proxy documentation (#4073) (5c9995d)