
charmedkubeflow/api-serverKFP API Server 容器镜像是 Kubeflow Pipelines (KFP) 的核心组件之一,用于提供 REST API 服务,是用户与 KFP 系统交互的主要接口。该镜像封装了 KFP API Server 服务,负责处理客户端的 API 请求,管理管道(Pipelines)、实验(Experiments)、运行(Runs)、任务(Jobs)等 KFP 资源,并与元数据存储(如 MySQL、PostgreSQL)交互以持久化资源信息。
通过 docker run 命令启动 KFP API Server 容器,需指定端口映射及必要的环境变量(如数据库连接信息):
bashdocker run -d \ --name kfp-api-server \ -p 8080:8080 \ -e DB_HOST=mysql-service \ -e DB_PORT=3306 \ -e DB_USER=kfp-user \ -e DB_PASSWORD=kfp-password \ -e DB_NAME=mlpipeline \ -e PORT=8080 \ gcr.io/ml-pipeline/api-server:latest
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
PORT | API Server 监听端口 | 8080 |
DB_HOST | 元数据数据库主机地址 | - |
DB_PORT | 元数据数据库端口 | 3306 (MySQL) |
DB_USER | 数据库访问用户名 | - |
DB_PASSWORD | 数据库访问密码 | - |
DB_NAME | 数据库名称 | mlpipeline |
DB_SSL_MODE | 数据库 SSL 连接模式(如 disable、require) | disable |
LOG_LEVEL | 日志级别(debug、info、warn、error) | info |
AUTH_ENABLED | 是否启用身份验证(true/false) | false |
AUTH_AUDIENCE | 身份验证受众(仅当 AUTH_ENABLED=true 时有效) | - |
AUTH_ISSUER | 身份验证发行者(仅当 AUTH_ENABLED=true 时有效) | - |
以下是与 MySQL 数据库协同部署的 docker-compose.yml 示例:
yamlversion: '3' services: mysql: image: mysql:8.0 environment: MYSQL_ROOT_PASSWORD: root-password MYSQL_DATABASE: mlpipeline MYSQL_USER: kfp-user MYSQL_PASSWORD: kfp-password ports: - "3306:3306" volumes: - mysql-data:/var/lib/mysql kfp-api-server: image: gcr.io/ml-pipeline/api-server:latest depends_on: - mysql ports: - "8080:8080" environment: DB_HOST: mysql DB_PORT: 3306 DB_USER: kfp-user DB_PASSWORD: kfp-password DB_NAME: mlpipeline PORT: 8080 LOG_LEVEL: info volumes: mysql-data:
服务启动后,可通过访问 http://localhost:8080/apis/v1beta1/healthz 验证 API Server 是否正常运行,返回 ok 表示服务可用。
DB_NAME 数据库,且用户 DB_USER 需具备该数据库的读写权限。AUTH_ENABLED 并配置身份验证参数,确保 API 访问安全。



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务