使用外部数据库配置极狐GitLab chart
对于生产就绪的极狐GitLab chart 部署实例,请使用外部数据库。
先决条件:
- PostgreSQL 12 或更高版本的部署实例。对于私有化部署解决方案,请考虑 Linux 软件包。
- 默认情况下名为
gitlabhq_production
的空数据库。 - 具有完全数据库访问权限的用户。有关详细信息,请参阅外部数据库文档。
- 带有数据库用户密码的 Kubernetes Secret。
-
pg_trgm
和btree_gist
扩展。如果您没有向极狐GitLab 提供带有 Superuser 标志的账户,请确保在继续安装数据库之前加载这些扩展。
网络先决条件:
- 确保可以从集群访问数据库。确保您的防火墙策略允许流量。
-
如果您计划使用 PostgreSQL 作为负载平衡集群和 Kubernetes DNS 用于服务发现,当您安装
bitnami/postgresql
chart 时,请使用--set slave.service.clusterIP=None
。此设置将 PostgreSQL 辅助服务配置为 headless 服务,允许为每个 secondary 实例创建 DNSA
记录。有关如何使用 Kubernetes DNS 进行服务发现的示例,请参阅
examples/database/values-loadbalancing-discover.yaml
。
要将极狐GitLab chart 配置为使用外部数据库:
-
设置以下参数:
-
postgresql.install
:设置为false
以禁用嵌入式数据库。 -
global.psql.host
:设置为外部数据库的主机名,可以是域名或IP地址。 -
global.psql.password.secret
:包含gitlab
用户的数据库密码的 secret 的名称。 -
global.psql.password.key
:包含密码的 secret 中的键。
-
-
可选。如果您不使用默认值,可以进一步自定义以下项目:
-
global.psql.port
:数据库可用的端口,默认为5432
。 -
global.psql.database
:数据库的名称。 -
global.psql.username
:有权访问数据库的用户。
-
-
可选。如果您使用到数据库的双向 TLS 连接:
-
global.psql.ssl.secret
:包含客户端证书、密钥和证书颁发机构的机密。 -
global.psql.ssl.serverCA
:secret 中引用证书颁发机构 (CA) 的键。 -
global.psql.ssl.clientCertificate
:secret 中引用客户端证书密钥的键。 -
global.psql.ssl.clientKey
:secret 中的客户端。
-
-
部署极狐GitLab chart 时,使用
--set
标志添加值。例如:helm install gitlab gitlab/gitlab --set postgresql.install=false --set global.psql.host=psql.example --set global.psql.password.secret=gitlab-postgresql-password --set global.psql.password.key=postgres-password