安装前配置
目录
准备 GitLab 服务部署选项1. GitLab 服务要求2. 使用平台提供的插件3. 使用自有 GitLab 服务GitLab 配置1. 禁用访问令牌过期时间2. 生成新令牌3. 为管理员令牌创建 kubernetes secret常见问题 (FAQ)1. 如何优化 GitLab 18.5 及以上版本以支持大容量 LFS 对象?Ingress 注解参数配置步骤准备 GitLab 服务
在 Alauda AI 中,GitLab 是模型管理的核心组件。部署 Alauda AI 之前,您必须准备一个 GitLab 服务。
部署选项
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. 生成新令牌
生成管理员的模拟令牌步骤:
- 在左侧边栏底部,选择 Admin。
- 选择 Overview > Users。
- 选择管理员用户(例如 Administrator)。
- 在顶部导航栏选择 Impersonation Tokens。
- 选择 Add new token。
- 在弹出表单中:
- 输入 Alauda AI 的 令牌名称(例如
aml-root)。 - 移除 过期时间(点击“x”图标移除过期时间)。
- 选择 所有 权限(特别是 api 权限)作为 Select scopes。
- 输入 Alauda AI 的 令牌名称(例如
- 选择 Create impersonation token。
- 保存弹窗中显示的新生成令牌,后续需要使用。
请务必保存新生成的令牌——之后无法再次查看。
3. 为管理员令牌创建 kubernetes secret
接着,在 cpaas-system 命名空间下创建名为 aml-gitlab-admin-token 的 gitlab 管理员令牌 secret:
- 创建名为 aml-gitlab-admin-token 的 gitlab 管理员令牌 secret
- 令牌保存在 password 键下,请将
${TOKEN}替换为之前保存的真实令牌 - secret 创建在 cpaas-system 命名空间下
常见问题 (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 自定义资源(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 时应用这些配置,避免后续运维问题。