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
。
-
在
TektonHub
CR 中,将 database secret 属性的值设置为tekton-hub-db
。示例:添加自定义数据库 secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用更新的
TektonHub
CR 将自定义数据库与 Tekton Hub 关联。如果您要在集群中安装 Tekton Hub 时关联自定义数据库,请应用更新的
TektonHub
CR。oc apply -f <tekton-hub-cr>.yaml
$ oc apply -f <tekton-hub-cr>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 另外,如果您要在 Tekton Hub 安装完成后关联自定义数据库,请将现有的
TektonHub
CR 替换为更新的TektonHub
CR。oc replace -f <tekton-hub-cr>.yaml
$ oc replace -f <tekton-hub-cr>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
检查安装的状态。
TektonHub
CR 可能需要一些时间才能获得 steady 状态。oc get tektonhub.operator.tekton.dev
$ oc get tektonhub.operator.tekton.dev
Copy 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-0
podCopy 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.svc
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
注意默认目标命名空间是
openshift-pipelines
。-
在
TektonHub
CR 中,将 database secret 属性的值设置为tekton-hub-db
。示例:添加自定义数据库 secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用更新的
TektonHub
CR 将自定义数据库与 Tekton Hub 关联。oc apply -f <tekton-hub-cr>.yaml
$ oc apply -f <tekton-hub-cr>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查安装的状态。
TektonHub
CR 可能需要一些时间才能获得 steady 状态。oc get tektonhub.operator.tekton.dev
$ oc get tektonhub.operator.tekton.dev
Copy 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.dump
Copy 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.dump
Copy 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.dump
Copy 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.dump
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 进入 Crunchy Postgres pod。例如: 获取
test-instance1-m7hh-0
podCopy 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.svc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
验证在
TektonHub
CR 中,数据库 secret 属性的值是否为tekton-hub-db
。示例: TektonHub CR,带有数据库 secret 的名称
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要将外部 Crunchy Postgres 数据库与 Tekton Hub 关联,请将任何现有的
TektonHub
CR 替换为更新的TektonHub
CR。oc replace -f <updated-tekton-hub-cr>.yaml
$ oc replace -f <updated-tekton-hub-cr>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查 Tekton Hub 的状态。更新的
TektonHub
CR 可能需要一些时间才能获得 steady 状态。oc get tektonhub.operator.tekton.dev
$ oc get tektonhub.operator.tekton.dev
Copy 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