1.2. 可选:在 Tekton Hub 中使用自定义数据库
集群管理员可以将自定义数据库用于 Tekton Hub,而不是 Operator 安装的默认 PostgreSQL 数据库。您可以在安装时关联自定义数据库,并将其与 Tekton Hub 提供的 db-migration、api 和 ui 接口一起使用。或者,即使安装了默认数据库,也可以将自定义数据库与 Tekton Hub 关联。
流程
在目标命名空间中创建名为
tekton-hub-db的 secret,其键如下:-
POSTGRES_HOST -
POSTGRES_DB -
POSTGRES_USER -
POSTGRES_PASSWORD POSTGRES_PORT示例:自定义数据库 secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意默认目标命名空间是
openshift-pipelines。
-
在
TektonHubCR 中,将 database secret 属性的值设置为tekton-hub-db。示例:添加自定义数据库 secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用更新的
TektonHubCR 将自定义数据库与 Tekton Hub 关联。如果您要在集群中安装 Tekton Hub 时关联自定义数据库,请应用更新的
TektonHubCR。oc apply -f <tekton-hub-cr>.yaml
$ oc apply -f <tekton-hub-cr>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 另外,如果您要在 Tekton Hub 安装完成后关联自定义数据库,请将现有的
TektonHubCR 替换为更新的TektonHubCR。oc replace -f <tekton-hub-cr>.yaml
$ oc replace -f <tekton-hub-cr>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
检查安装的状态。
TektonHubCR 可能需要一些时间才能获得 steady 状态。oc get tektonhub.operator.tekton.dev
$ oc get tektonhub.operator.tekton.devCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME VERSION READY REASON APIURL UIURL hub v1.9.0 True https://api.route.url/ https://ui.route.url/
NAME VERSION READY REASON APIURL UIURL hub v1.9.0 True https://api.route.url/ https://ui.route.url/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.1. 可选:安装 Crunchy Postgres 数据库和 Tekton Hub 复制链接链接已复制到粘贴板!
集群管理员可以安装 Crunchy Postgres 数据库,并将 Tekton Hub 配置为使用它,而不是默认数据库。
先决条件
- 从 Operator Hub 安装 Crunchy Postgres Operator。
- 创建一个 Postgres 实例,用于启动 Crunchy Postgres 数据库。
流程
进入 Crunchy Postgres pod。
示例:获取
test-instance1-m7hh-0podCopy to Clipboard Copied! Toggle word wrap Toggle overflow 查找
pg_hba.conf文件。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 退出数据库。
检查
pg_hba.conf文件是否有条目host all 0.0.0.0/0 md5,以访问所有进入的连接。另外,在pg_hba.conf文件的末尾添加该条目。示例:
pg_hba.conf文件Copy to Clipboard Copied! Toggle word wrap Toggle overflow 保存
pg_hba.conf文件并重新载入数据库。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 退出数据库。
解码 Crunchy Postgres 主机的 secret 值。
示例:对 Crunchy Postgres 主机的 secret 值进行编码
echo 'aGlwcG8tcHJpbWFyeS5vcGVuc2hpZnQtb3BlcmF0b3JzLnN2YyA=' | base64 --decode
$ echo 'aGlwcG8tcHJpbWFyeS5vcGVuc2hpZnQtb3BlcmF0b3JzLnN2YyA=' | base64 --decode test-primary.openshift-operators.svcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在目标命名空间中创建名为
tekton-hub-db的 secret,其键如下:-
POSTGRES_HOST -
POSTGRES_DB -
POSTGRES_USER -
POSTGRES_PASSWORD POSTGRES_PORT示例:自定义数据库 secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
注意默认目标命名空间是
openshift-pipelines。-
在
TektonHubCR 中,将 database secret 属性的值设置为tekton-hub-db。示例:添加自定义数据库 secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用更新的
TektonHubCR 将自定义数据库与 Tekton Hub 关联。oc apply -f <tekton-hub-cr>.yaml
$ oc apply -f <tekton-hub-cr>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检查安装的状态。
TektonHubCR 可能需要一些时间才能获得 steady 状态。oc get tektonhub.operator.tekton.dev
$ oc get tektonhub.operator.tekton.devCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME VERSION READY REASON APIURL UIURL hub v1.9.0 True https://api.route.url/ https://ui.route.url/
NAME VERSION READY REASON APIURL UIURL hub v1.9.0 True https://api.route.url/ https://ui.route.url/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.2. 可选:将 Tekton Hub 数据迁移到现有的 Crunchy Postgres 数据库 复制链接链接已复制到粘贴板!
Tekton Hub 支持使用 Crunchy Postgres 作为自定义数据库。对于带有默认数据库的预安装的 Tekton Hub,集群管理员可在将 Tekton Hub 数据从内部或默认数据库迁移到外部 Crunchy Postgres 数据库后,使用 Crunchy Postgres 作为自定义数据库。
流程
将内部或默认数据库的现有数据转储到 pod 中的文件中。
示例:转储数据
pg_dump -Ft -h localhost -U postgres hub -f /tmp/hub.dump
$ pg_dump -Ft -h localhost -U postgres hub -f /tmp/hub.dumpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将包含数据转储的文件复制到您的本地系统中。
命令格式
oc cp -n <namespace> <podName>:<path-to-hub.dump> <path-to-local-system>
$ oc cp -n <namespace> <podName>:<path-to-hub.dump> <path-to-local-system>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
oc cp -n openshift-pipelines tekton-hub-db-7d6d888c67-p7mdr:/tmp/hub.dump /home/test_user/Downloads/hub.dump
$ oc cp -n openshift-pipelines tekton-hub-db-7d6d888c67-p7mdr:/tmp/hub.dump /home/test_user/Downloads/hub.dumpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将包含本地系统的数据转储的文件复制到运行外部 Crunchy Postgres 数据库的 pod。
命令格式
oc cp -n <namespace> <path-to-local-system> <podName>:<path-to-hub.dump>
$ oc cp -n <namespace> <path-to-local-system> <podName>:<path-to-hub.dump>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
oc cp -n openshift-operators /home/test_user/Downloads/hub.dump test-instance1-spnz-0:/tmp/hub.dump
$ oc cp -n openshift-operators /home/test_user/Downloads/hub.dump test-instance1-spnz-0:/tmp/hub.dumpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 恢复 Crunchy Postgres 数据库中的数据。
命令格式
pg_restore -d <database-name> -h localhost -U postgres <path-where-file-is-copied>
$ pg_restore -d <database-name> -h localhost -U postgres <path-where-file-is-copied>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
pg_restore -d test -h localhost -U postgres /tmp/hub.dump
$ pg_restore -d test -h localhost -U postgres /tmp/hub.dumpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 进入 Crunchy Postgres pod。例如: 获取
test-instance1-m7hh-0podCopy to Clipboard Copied! Toggle word wrap Toggle overflow 查找
pg_hba.conf文件。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 退出数据库。
检查
pg_hba.conf文件是否有条目host all 0.0.0.0/0 md5,这是访问所有传入连接所必需的。如有必要,在pg_hba.conf文件的末尾添加该条目。示例:
pg_hba.conf文件Copy to Clipboard Copied! Toggle word wrap Toggle overflow 保存
pg_hba.conf文件并重新载入数据库。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 退出数据库。
验证目标命名空间中名为
tekton-hub-db的 secret 具有以下键:-
POSTGRES_HOST -
POSTGRES_DB -
POSTGRES_USER -
POSTGRES_PASSWORD POSTGRES_PORT示例:自定义数据库 secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意POSTGRES_HOST字段的值编码为 secret。您可以使用以下示例解码 Crunchy Postgres 主机的值。示例:对 Crunchy Postgres 主机的 secret 值进行编码
echo 'aGlwcG8tcHJpbWFyeS5vcGVuc2hpZnQtb3BlcmF0b3JzLnN2YyA=' | base64 --decode
$ echo 'aGlwcG8tcHJpbWFyeS5vcGVuc2hpZnQtb3BlcmF0b3JzLnN2YyA=' | base64 --decode test-primary.openshift-operators.svcCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
验证在
TektonHubCR 中,数据库 secret 属性的值是否为tekton-hub-db。示例: TektonHub CR,带有数据库 secret 的名称
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要将外部 Crunchy Postgres 数据库与 Tekton Hub 关联,请将任何现有的
TektonHubCR 替换为更新的TektonHubCR。oc replace -f <updated-tekton-hub-cr>.yaml
$ oc replace -f <updated-tekton-hub-cr>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检查 Tekton Hub 的状态。更新的
TektonHubCR 可能需要一些时间才能获得 steady 状态。oc get tektonhub.operator.tekton.dev
$ oc get tektonhub.operator.tekton.devCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME VERSION READY REASON APIURL UIURL hub v1.9.0 True https://api.route.url/ https://ui.route.url/
NAME VERSION READY REASON APIURL UIURL hub v1.9.0 True https://api.route.url/ https://ui.route.url/Copy to Clipboard Copied! Toggle word wrap Toggle overflow