本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
MLflow 是一个开源平台,旨在管理端到端机器学***生命周期。它允许您跟踪实验、将代码打包为可复现的运行,并共享和部署模型。
MLflow 概述
商标声明:本软件列表由 Bitnami 打包。产品中提及的 respective 商标归各自公司所有,使用这些商标并不意味着任何关联或认可。
helm install my-release oci://registry-1.docker.io/bitnamicharts/mlflow
希望在生产环境中使用 MLflow?请尝试 VMware Tanzu Application Catalog,这是 Bitnami 目录的商业版。
自 2025 年 8 月 28 日起,Bitnami 将改进其公共目录,在新的 Bitnami Secure Images 计划 下提供精选的强化、安全聚焦镜像集。作为此过渡的一部分:
这些变更旨在通过推广软件供应链完整性和最新部署的最佳实践,提高所有 Bitnami 用户的安全态势。有关更多详情,请访问 Bitnami Secure Images 公告。
此 Chart 使用 Helm 包管理器在 Kubernetes 集群上引导 MLflow 部署。
Python 专为与 Python 全面集成而构建,使您能够将其与其库和主要包一起使用。
要使用发布名称 my-release 安装 Chart:
helm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/mlflow
注意:您需要将占位符
REGISTRY_NAME和REPOSITORY_NAME替换为 Helm Chart 仓库和存储库的引用。例如,对于 Bitnami,需使用REGISTRY_NAME=registry-1.docker.io和REPOSITORY_NAME=bitnamicharts。
该命令以默认配置在 Kubernetes 集群上部署 mlflow。参数 部分列出了可在安装期间配置的参数。
提示:使用
helm list列出所有发布
Bitnami Charts 允许为 Chart 部署内的所有容器设置资源请求和限制。这些设置位于 resources 值中(参见参数表)。设置请求对于生产工作负载至关重要,应根据您的具体用例进行调整。
为简化此过程,Chart 包含 resourcesPreset 值,可根据不同预设自动设置 resources 部分。有关这些预设,请查看 bitnami/common chart。但是,在生产工作负载中不建议使用 resourcesPreset,因为它可能无法完全适应您的特定需求。有关容器资源管理的更多信息,请参阅 Kubernetes 官方文档。
通过将 tracking.metrics.enabled 设置为 true,此 Chart 可与 Prometheus 集成。这将在服务中公开 MLFlow 原生 Prometheus 端点,并包含必要的注解以被 Prometheus 自动抓取。
要使集成正常工作,需要安装 Prometheus 或 Prometheus Operator。安装 Bitnami Prometheus helm chart 或 Bitnami Kube Prometheus helm chart,可轻松在集群中部署可用的 Prometheus。
该 Chart 可以部署 ServiceMonitor 对象,以与 Prometheus Operator 安装集成。为此,设置值 tracking.metrics.serviceMonitor.enabled=true。确保集群中已安装 Prometheus Operator CustomResourceDefinitions,否则将失败并显示以下错误:
no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"
安装 Bitnami Kube Prometheus helm chart 以获取必要的 CRD 和 Prometheus Operator。
通过设置 tracking.tls.enabled=true,MLflow 可以加密通信。Chart 允许两种配置选项:
tracking.tls.certificatesSecret 值提供您自己的密钥。同时使用 tracking.tls.certFilename、tracking.tls.certKeyFilename 和 tracking.tls.certCAFilename 值设置证书文件的正确名称。tracking.tls.autoGenerated=true 让 Chart 自动生成证书。要在 Kubernetes 上备份和恢复 Helm Chart 部署,需要使用 Velero(Kubernetes 备份/恢复工具)备份源部署的持久卷,并将其附加到新部署。有关使用 Velero 的说明,请参阅 本指南。
| 名称 | 描述 | 值 |
|---|---|---|
global.imageRegistry | 全局 Docker 镜像仓库 | "" |
global.imagePullSecrets | 全局 Docker 仓库密钥名称数组 | [] |
global.defaultStorageClass | 持久卷的全局默认 StorageClass | "" |
global.security.allowInsecureImages | 允许跳过镜像验证 | false |
global.compatibility.openshift.adaptSecurityContext | 调整部署的 securityContext 部分,使其与 Openshift restricted-v2 SCC 兼容:移除 runAsUser、runAsGroup 和 fsGroup,让平台使用其允许的默认 ID。可能值:auto(如果检测到运行的集群是 Openshift 则应用)、force(始终执行调整)、disabled(不执行调整) | auto |
| 名称 | 描述 | 值 |
|---|---|---|
kubeVersion | 覆盖 Kubernetes 版本 | "" |
apiVersions | 覆盖 .Capabilities 报告的 Kubernetes API 版本 | [] |
nameOverride | 部分覆盖 common.names.name 的字符串 | "" |
fullnameOverride | 完全覆盖 common.names.fullname 的字符串 | "" |
namespaceOverride | 完全覆盖 common.names.namespace 的字符串 | "" |
commonLabels | 添加到所有部署对象的标签 | {} |
commonAnnotations | 添加到所有部署对象的注解 | {} |
clusterDomain | Kubernetes 集群域名 | cluster.local |
extraDeploy | 随发布一起部署的额外对象数组 | [] |
diagnosticMode.enabled | 启用诊断模式(所有探针将被禁用,命令将被覆盖) | false |
diagnosticMode.command | 覆盖部署中所有容器的命令 | ["sleep"] |
diagnosticMode.args | 覆盖部署中所有容器的参数 | ["infinity"] |
| 名称 | 描述 | 值 |
|---|---|---|
image.registry | mlflow 镜像仓库 | REGISTRY_NAME |
image.repository | mlflow 镜像存储库 | REPOSITORY_NAME/mlflow |
image.digest | mlflow 镜像摘要(格式为 sha256:aa.... 注意:如果设置此参数,将覆盖镜像标签,建议使用不可变标签) | "" |
image.pullPolicy | mlflow 镜像拉取策略 | IfNotPresent |
image.pullSecrets | mlflow 镜像拉取密钥 | [] |
image.debug | 启用 mlflow 镜像调试模式 | false |
gitImage.registry | Git 镜像仓库 | REGISTRY_NAME |
gitImage.repository | Git 镜像存储库 | REPOSITORY_NAME/git |
gitImage.digest | Git 镜像摘要(格式为 sha256:aa.... 注意:如果设置此参数,将覆盖标签) | "" |
gitImage.pullPolicy | Git 镜像拉取策略 | IfNotPresent |
gitImage.pullSecrets | 指定 docker-registry 密钥名称数组 | [] |
| 名称 | 描述 | 值 |
|---|---|---|
tracking.enabled | 启用 Tracking 服务器 | true |
tracking.replicaCount | 要部署的 mlflow 副本数 | 1 |
tracking.host | mlflow tracking 监听主机。设置为 "[::]" 以使用 ipv6。 | 0.0.0.0 |
tracking.containerPorts.http | mlflow HTTP 容器端口 | 5000 |
tracking.livenessProbe.enabled | 在 mlflow 容器上启用 livenessProbe | true |
tracking.livenessProbe.initialDelaySeconds | livenessProbe 的初始延迟秒数 | 5 |
tracking.livenessProbe.periodSeconds | livenessProbe 的周期秒数 | 10 |
tracking.livenessProbe.timeoutSeconds | livenessProbe 的超时秒数 | 5 |
tracking.livenessProbe.failureThreshold | livenessProbe 的失败阈值 | 5 |
tracking.livenessProbe.successThreshold | livenessProbe 的成功阈值 | 1 |
tracking.readinessProbe.enabled | 在 mlflow 容器上启用 readinessProbe | true |
tracking.readinessProbe.initialDelaySeconds | readinessProbe 的初始延迟秒数 | 5 |
tracking.readinessProbe.periodSeconds | readinessProbe 的周期秒数 | 10 |
tracking.readinessProbe.timeoutSeconds | readinessProbe 的超时秒数 | 5 |
tracking.readinessProbe.failureThreshold | readinessProbe 的失败阈值 | 5 |
tracking.readinessProbe.successThreshold | readinessProbe 的成功阈值 | 1 |
tracking.startupProbe.enabled | 在 mlflow 容器上启用 startupProbe | false |
tracking.startupProbe.initialDelaySeconds | startupProbe 的初始延迟秒数 | 5 |
tracking.startupProbe.periodSeconds | startupProbe 的周期秒数 | 10 |
tracking.startupProbe.timeoutSeconds | startupProbe 的超时秒数 | 5 |
tracking.startupProbe.failureThreshold | startupProbe 的失败阈值 | 5 |
tracking.startupProbe.successThreshold | startupProbe 的成功阈值 | 1 |
tracking.customLivenessProbe | 覆盖默认 livenessProbe 的自定义探针 | {} |
tracking.customReadinessProbe | 覆盖默认 readinessProbe 的自定义探针 | {} |
tracking.customStartupProbe | 覆盖默认 startupProbe 的自定义探针 | {} |
tracking.resourcesPreset | 根据通用预设设置容器资源(允许值:none、nano、micro、small、medium、large、xlarge、2xlarge)。如果设置了 tracking.resources,则忽略此参数(生产环境建议使用 tracking.resources)。 | medium |
tracking.resources | 设置容器对 CPU 或内存等不同资源的请求和限制(生产工作负载必不可少) | {} |
tracking.podSecurityContext.enabled | 启用 mlflow pods 的安全上下文 | true |
tracking.podSecurityContext.fsGroupChangePolicy | 设置文件系统组更改策略 | Always |
tracking.podSecurityContext.sysctls | 使用 sysctl 接口设置内核参数 | [] |
tracking.podSecurityContext.supplementalGroups | 设置文件系统额外组 |
注意:此 Chart 的 README 超过了 DockerHub 25000 字符的长度限制,因此已被截断。完整 README 可在 [***] 查看。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429