我在 Kubernetes 集群中运行 GitLab Omnibus,其中有用于 Web 的 NodePort 端口 ( 80
) 和用于 Docker 容器注册表的 NodePort 端口 ( 5050
)。
我已经设置了 Ingress URL(www.gitlab.xxx.yyy
,registry.gitlab.xxx.yyy
),这样客户端就不必知道 NodePort 分配。
该配置/etc/gitlab/gitlab.rb
有:
registry_external_url 'https://registry.gitlab.xxx.yyy:5050'
问题在于向用户显示的注册表 URL 是
registry.gitlab.xxx.yyy:5050/foo/bar
而真正应该做的是
registry.gitlab.xxx.yyy/foo/bar
如何配置 GitLab 以在其页面上显示自定义 URL 但仍在端口上运行该服务5050
?
答案1
来自文档关于为容器注册表配置域:
如果您想使用单独的域 [...而不是 gitlab 默认域...],您所要做的就是配置容器注册表将监听的域名。
你只需要改变你的配置gitlab.rb
registry_external_url 'https://registry.gitlab.xxx.yyy'