设置独立的 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 扩缩容

# 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