clearml-server 是 ClearML 的后端服务基础设施。它允许多个用户协作管理他们的实验。默认情况下,ClearML 配置为使用 ClearML Demo Server,该服务器对所有人开放并定期重置。为了托管自己的服务器,您需要安装 clearml-server 并将 ClearML 指向它。
clearml-server 包含以下组件
使用此仓库将 clearml-server 添加到您的 Helm 中,然后使用 Helm 将 clearml-server 部署到 Kubernetes 集群上。
ClearML Server 要求您拥有 Elasticsearch、Redis 和 MongoDB 服务。此 Helm chart 的默认模板包含用于 Redis 和 MongoDB 的 Bitnami chart,以及用于 Elasticsearch 的官方 chart(目前仍处于 Beta 阶段)。您可以使用默认的,或者使用您自己的部署并在该 chart 的相应部分设置它们的名称和端口。为了使用您自己的部署,请确保在 values.yaml
中禁用现有的(例如,要禁用 elasticsearch,设置 elasticsearch.enabled = false
)。
pvc-apiserver.yaml
、pvc-fileserver.yaml
和 pvc-agentservices.yaml
的持久卷。values.yaml
中设置 elasticsearch.persistence.enabled=true
并将 elasticsearch.volumeClaimTemplate.storageClassName
设置为您在 Elasticsearch PV 中使用的 storageClassName。values.yaml
中设置 mongodb.persistence.enabled=true
并将 mongodb.persistence.storageClass
设置为您在 MongoDB PV 中使用的 storageClassName。阅读 此处 获取更多详细信息。values.yaml
中设置 redis.master.persistence.enabled=true
并将 redis.master.persistence.storageClass
设置为您在 Redis PV 中使用的 storageClassName。阅读 此处 获取更多详细信息。kubectl
已安装并配置 (请参阅 Kubernetes 文档中的安装和设置 kubectl)helm
已安装 (请参阅 Helm 文档中的安装 Helm)将 clearml-server 仓库添加到您的 Helm 中
helm repo add unit8-mlops https://darts.ac.cn/mlops-clearml-helm-repo/
确认 clearml-server 仓库已添加到 Helm 中
helm search repo unit8-mlops
helm 搜索结果必须包含 unit8-mlops/mlops-clearml-server
。
在您的集群上安装 unit8-mlops/mlops-clearml-server
helm install clearml-server unit8-mlops/mlops-clearml-server --namespace=default --values=values.yaml
clearml-server 被部署在默认命名空间中。
如果您正在从 ClearML Server Helm chart 的单节点版本升级,请先执行以下步骤
app=trains
的节点使用新的或更新的 values.yaml
进行更新
helm upgrade clearml-server unit8-mlops/mlops-clearml-server -f values.yaml
如果没有破坏性更改,您可以更新您的部署以匹配仓库版本
helm upgrade clearml-server unit8-mlops/mlops-clearml-server
重要提示:
如果您之前部署过 clearml-server,您可能会遇到错误。如果是这样,您必须先使用以下命令删除旧的部署
helm delete --purge clearml-server
运行 helm delete
命令后,您可以运行 helm install
命令。
clearml-server 部署后,服务会暴露以下节点端口
30008
端口30080
端口30081
端口通过创建负载均衡器和域名,并创建指向该负载均衡器的记录来访问 clearml-server。
设置好负载均衡器和域名后,请执行以下步骤来配置在您的 k8s 集群上访问 clearml-server
创建域名记录
app.<您的域名>
files.<您的域名>
api.<您的域名>
(例如,app.clearml.mydomainname.com
、files.clearml.mydomainname.com
和 api.clearml.mydomainname.com
)
app.<您的域名>
应重定向到 k8s 集群节点上的端口 30080
files.<您的域名>
应重定向到 k8s 集群节点上的端口 30081
api.<您的域名>
应重定向到 k8s 集群节点上的端口 30008
您还可以配置 clearml-server 以实现
有关详细说明,请参阅 clearml-server 仓库 README 文件中的可选配置章节。