3.3. 配置数据库
3.3.1. 使用现有的 Postgres 数据库 复制链接链接已复制到粘贴板!
使用所需的数据库字段创建配置文件
config.yaml:config.yaml:
DB_URI: postgresql://test-quay-database:postgres@test-quay-database:5432/test-quay-database使用配置文件创建 Secret:
$ kubectl create secret generic --from-file config.yaml=./config.yaml config-bundle-secret创建 QuayRegistry YAML 文件
quayregistry.yaml,将postgres组件标记为非受管状态,并引用所创建的 Secret:quayregistry.yaml
apiVersion: quay.redhat.com/v1 kind: QuayRegistry metadata: name: example-registry namespace: quay-enterprise spec: configBundleSecret: config-bundle-secret components: - kind: postgres managed: false- 按照以下部分所述部署 registry。
3.3.2. 数据库配置 复制链接链接已复制到粘贴板!
本节论述了可用于 Red Hat Quay 部署的数据库配置字段。
3.3.2.1. 数据库 URI 复制链接链接已复制到粘贴板!
使用 Red Hat Quay,使用所需的 DB_URI 字段配置与数据库的连接。
下表描述了 DB_URI 配置字段:
| 字段 | 类型 | 描述 |
|---|---|---|
|
DB_URI | 字符串 | 用于访问数据库的 URI,包括任何凭证。
postgresql://quayuser:quaypass@quay-server.example.com:5432/quay |
3.3.2.2. 数据库连接参数 复制链接链接已复制到粘贴板!
可选的连接参数由 DB_CONNECTION_ARGS 参数配置。DB_CONNECTION_ARGS 下定义的某些键值对是通用的,另一些则特定于数据库。
下表描述了数据库连接参数:
| 字段 | 类型 | 描述 |
|---|---|---|
| DB_CONNECTION_ARGS | 对象 | 数据库的可选连接参数,如超时和 SSL。 |
| .autorollback | 布尔值 |
是否使用线程本地连接。 |
| .threadlocals | 布尔值 |
是否使用自动回送连接。 |
3.3.2.2.1. PostgreSQL SSL 连接参数 复制链接链接已复制到粘贴板!
使用 SSL 时,配置取决于您要部署的数据库。以下示例显示了 PostgreSQL SSL 配置:
DB_CONNECTION_ARGS:
sslmode: verify-ca
sslrootcert: /path/to/cacert
sslmode 选项决定与服务器协商的安全 SSL TCP/IP 连接中的哪个优先级。有六个模式:
| 模式 | 描述 |
|---|---|
| disable | 您的配置仅尝试非 SSL 连接。 |
| allow | 您的配置首先尝试非 SSL 连接。失败后,尝试 SSL 连接。 |
|
首选 | 您的配置首先尝试 SSL 连接。失败后,会尝试非 SSL 连接。 |
| require | 您的配置仅尝试 SSL 连接。如果存在 root CA 文件,它将验证证书的方式与是否指定了 verify-ca 相同。 |
| verify-ca | 您的配置仅尝试 SSL 连接,并验证服务器证书是否由可信证书颁发机构(CA)发出。 |
| verify-full | 仅尝试 SSL 连接,并验证可信 CA 发布服务器证书,并且请求的服务器主机名与证书中的匹配。 |
如需有关 PostgreSQL 有效参数的更多信息,请参阅 Database Connection Control Functions。
3.3.2.2.2. MySQL SSL 连接参数 复制链接链接已复制到粘贴板!
以下示例显示了 MySQL SSL 配置示例:
DB_CONNECTION_ARGS:
ssl:
ca: /path/to/cacert
有关 MySQL 的有效连接参数的信息,请访问 使用类似URI的字符串或键-值对连接到服务器。
3.3.3. 使用受管 PostgreSQL 复制链接链接已复制到粘贴板!
建议:
- 应使用 Postgres 镜像或您自己的备份基础架构提供的工具定期执行数据库备份。Operator 目前不确保 Postgres 数据库被备份。
-
必须使用 Postgres 工具和程序从备份中恢复 Postgres 数据库。请注意,当数据库恢复正在进行时,您的 Quay
Pod不应该运行。 - Operator 使用 50 GiB 自动分配数据库磁盘空间。此数字代表在大中型 Red Hat Quay 安装中的可用存储量,但可能不适用于您的用例。Operator 当前没有处理数据库卷的大小。