设置独立的 Redis
此处的说明使用了 Ubuntu 的 Omnibus GitLab 包。该软件包提供了保证与chart 服务兼容的服务版本。
创建包含 Omnibus GitLab 的 VM
在您选择的提供商或本地创建 VM。这里是使用 VirtualBox、KVM 和 Bhyve 进行测试的。 确保可从集群访问该实例。
将 Ubuntu Server 安装到您创建的 VM 上。 确保安装了 openssh-server
,并且所有软件包都是最新的。
配置网络和主机名。记下主机名/IP,并确保它可以从您的 Kubernetes 集群解析和访问。
确保防火墙策略在正确的位置,以允许流量。
按照 Omnibus GitLab 的安装说明进行操作。当您执行包安装时,不要 提供EXTERNAL_URL=
值。 我们不希望发生自动配置,因为我们将在下一步中提供非常具体的配置。
配置 Omnibus GitLab
创建一个最小的 gitlab.rb
文件放在 /etc/gitlab/gitlab.rb
。要_非常_明确地知道此节点上启用的功能,请使用以下内容。
此示例不提供 Redis 扩缩容。
-
REDIS_PASSWORD
应该替换为gitlab-redis
secret 中的值。
# Listen on all addresses
redis['bind'] = '0.0.0.0'
# Set the defaul port, must be set.
redis['port'] = 6379
# Set password, as in the secret `gitlab-redis` populated in Kubernetes
redis['password'] = 'REDIS_PASSWORD'
## Disable everything else
gitlab_rails['enable'] = false
sidekiq['enable'] = false
puma['enable']=false
registry['enable'] = false
gitaly['enable'] = false
gitlab_workhorse['enable'] = false
nginx['enable'] = false
prometheus_monitoring['enable'] = false
postgresql['enable'] = false
创建 gitlab.rb
后,使用 gitlab-ctl reconfigure
重新配置包。
任务完成后,使用 gitlab-ctl status
检查正在运行的进程。
输出应类似于:
# gitlab-ctl status
run: logrotate: (pid 4856) 1859s; run: log: (pid 31262) 77460s
run: redis: (pid 30562) 77637s; run: log: (pid 30561) 77637s