安装前配置
目录
准备 GitLab 服务部署选项1. GitLab 服务要求2. 使用平台提供的插件3. 使用您自己的 GitLab 服务GitLab 配置1. 禁用访问令牌的过期时间2. 生成新令牌3. 为管理员令牌创建 Kubernetes Secret准备 Harbor 服务常见问题(FAQ)1. 如何优化 GitLab 18.5 及更高版本对大 LFS 对象的配置?Ingress 注解参数配置步骤准备 GitLab 服务
在 Alauda AI 中,GitLab 是 模型管理 的核心组件。在部署 Alauda AI 之前,您 必须先准备 一个 GitLab 服务。
基于 GitLab 的模型存储已弃用。它目前仅为兼容性保留,计划在未来的 Alauda AI 版本中移除。对于内置模型和新的模型交付工作流,请改用带有 OCI 模型制品的 Model Catalog。
部署选项
1. GitLab 服务要求
无论采用何种部署方式,所有 GitLab 实例都必须满足以下要求:
- 版本:必须为 v15 或更高版本。
- 协议:必须使用 HTTPS。有关设置说明,请参阅 配置 HTTPS。
- Git LFS:必须 启用。有关设置说明,请参阅 使用 LFS 管理大文件。
- 托管方式:必须为 自托管(不支持公有云托管的 GitLab 服务)。
- 访问令牌:禁用 访问令牌的过期时间。
2. 使用平台提供的插件
使用 'Alauda Build of GitLab' 插件部署一个新的 GitLab 服务。
有关说明,请参阅:部署 Alauda Build of GitLab。
3. 使用您自己的 GitLab 服务
或者,您可以使用 自管理的 GitLab 实例,但它 必须满足 GitLab 服务要求。
GitLab 配置
在部署 Alauda AI 之前,请在获取服务后完成以下 GitLab 配置步骤。
1. 禁用访问令牌的过期时间
如果 GitLab 运行的是 v17.0 或更高版本,则需要 禁用 访问令牌的过期时间。
如果访问令牌的过期时间一直处于启用状态,我们就必须至少每年手动刷新一次管理员令牌,否则 Alauda AI 可能无法正常运行。
要为新的访问令牌 禁用 过期时间:
- 在左侧边栏底部,选择 Admin。
- 选择 Settings > General。
- 展开 Account and limit。
- 取消勾选 Personal / Project / Group access token expiration 复选框。
- 选择 Save changes。
2. 生成新令牌
要为管理员 生成 impersonation 令牌:
- 在左侧边栏底部,选择 Admin。
- 选择 Overview > Users。
- 选择管理员用户(例如 Administrator)。
- 在顶部导航栏中,选择 Impersonation Tokens。
- 选择 Add new token。
- 在弹出的表单中:
- 为 Alauda AI 输入一个 Token name(例如
aml-root)。 - 移除 Expiration Date(选择 “x” 图标以移除过期时间)。
- 在 Select scopes 中勾选 所有 scopes(尤其是 api scope)。
- 为 Alauda AI 输入一个 Token name(例如
- 选择 Create impersonation token。
- 在 Your new impersonation token 下 保存 新生成的令牌,后续需要使用。
请务必保存新生成的令牌——您之后将无法再次访问它。
3. 为管理员令牌创建 Kubernetes Secret
然后我们在 cpaas-system 命名空间下创建名为 aml-gitlab-admin-token 的 GitLab 管理员令牌 Secret:
- 创建名为 aml-gitlab-admin-token 的 GitLab 管理员令牌 Secret
- 令牌保存在 password 键下,请将
${TOKEN}替换为之前保存的真实令牌。 - 该 Secret 创建在 cpaas-system 命名空间下。
准备 Harbor 服务
如果您计划使用 Model Catalog 功能,请在安装 Alauda AI 之前准备一个 Alauda Build of Harbor 服务。该镜像仓库必须满足以下要求:
- 以生产模式运行。生产环境部署请使用 HTTPS。
- 允许推理集群节点在无需 image pull 凭据的情况下拉取 Model Catalog 镜像。
如果目标环境中无法部署 HTTPS 镜像仓库,可以使用 HTTP 镜像仓库作为备用方案,但在部署模型之前,必须先配置推理集群的容器运行时。关于详细的 containerd 配置,请参阅在创建 Alauda AI 实例时设置 Model OCI Registry Address 的说明。
有关安装步骤,请参阅 部署 Alauda Build of Harbor。
常见问题(FAQ)
1. 如何优化 GitLab 18.5 及更高版本对大 LFS 对象的配置?
问题:
在向 GitLab 18.5 及更高版本推送大型 LFS 对象时,您可能会遇到 HTTP 413 错误。对于 AI 模型管理,通常需要通过 LFS 上传大型模型文件,而这些文件会超过 Nginx ingress controller 中默认的 proxy-body-size 限制(通常为 512M)(这些 Nginx ingress 注解通常与版本无关,也适用于其他因 LFS 上传大小限制而受影响的 GitLab 版本)。
以下内容是 Git LFS 客户端的真实诊断输出;其中的 %!!(string=...) 片段是原始 Go 格式化产物,可以忽略——请重点关注 HTTP 413 响应,它才是可操作的错误信息。
解决方案:
为了处理大文件上传并提升整体性能,您需要在 GitLab 服务上配置特定的 Nginx Ingress 注解。
Ingress 注解参数
以下是推荐的 Ingress 参数及其功能列表:
配置步骤
您可以通过更新 GitLabOfficial Custom Resource(CR)来应用这些优化。
1. 通过 kubectl patch 命令应用
使用以下命令直接更新 GitLabOfficial CR 中的 ingress 注解:
- 将
your-instance-name替换为您的 GitLabOfficial 实例名称(例如gitlab-aml)。 - 将
your-instance-namespace替换为您的 GitLabOfficial 实例所在的命名空间(例如gitlab-system-aml)。
2. YAML 层级结构参考
供参考,GitLabOfficial CR 的 spec 中 ingress.annotations 的层级结构如下:
- 这些优化可确保 GitLab 18.5 能够通过 Git LFS 无缝处理大型 AI 模型上传,并提升整体数据传输稳定性。
- 我们强烈建议在初始部署 GitLab 时就应用这些配置,以避免部署后的运行问题。