1.5. 使用外部数据库安装 Fuse Online
如果要安装使用外部数据库的 Fuse Online 环境来持久连接和集成定义:
- 使用 OpenShift 集群可以找到的主机名创建 postgreSQL 数据库。
-
在安装 Fuse Online 之前,为外部数据库创建一个名为
syndesis-global-config
的 OpenShift secret。 - 安装 Fuse Online。
- 在部署 Fuse Online 之前,请编辑自定义资源来配置与外部数据库的连接。
先决条件
- Fuse Online 尚未安装。
-
已安装
oc
客户端工具,并连接到您要在其中安装 Fuse Online 的 OCP 集群。 - 具有集群管理权限的用户为您提供了在集群中有访问权限的任何项目中安装 Fuse Online 的权限。
流程
使用有权安装 Fuse Online 的帐户登录 OpenShift。例如:
oc login -u developer -p developer
oc login -u developer -p developer
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个可供您在其上安装 Fuse Online 的 OpenShift 集群使用的 postgreSQL 数据库,并为以下配置选项定义值:
- 连接用户名
- 数据库名称
数据库密码
以下示例使用了 OpenShift 默认提供的其中一个 PostgreSQL 模板。
注: 仅将 PostgreSQL 临时(
postgresql-ephemeral
)模板用于开发或测试目的。对于生产环境,请使用 PostgreSQL(postgresql
)模板。oc new-app postgresql-ephemeral -p POSTGRESQL_USER=syndesis -p POSTGRESQL_PASSWORD=exdb-pwd -p POSTGRESQL_DATABASE=syndesisdb
oc new-app postgresql-ephemeral -p POSTGRESQL_USER=syndesis -p POSTGRESQL_PASSWORD=exdb-pwd -p POSTGRESQL_DATABASE=syndesisdb
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令返回配置 Fuse Online(如 URL)时所需的数据库的信息。
有关创建数据库的信息,请参阅 OpenShift 文档中的 PostgreSQL 主题。
创建并保存资源文件(例如,
my-fuse-online-secret-cr.yml
),其中包含以下内容:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
my-fuse-online-project
替换为您要为其指定外部数据库的 OpenShift 项目的名称。将
exdb-pw
替换为第 2 步的密码。Fuse Online 将使用它作为访问外部数据库的密码。请注意,stringData
将密码值转换为 base64 编码值(因此您不必进行转换)。如需有关 OpenShift 机密的信息,请参阅 向容器集提供敏感数据。
在集群中添加 secret,例如:
oc apply -f my-fuse-online-secret-cr.yml
oc apply -f my-fuse-online-secret-cr.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 OpenShift 集群中,
syndesis-global-config
secret 可用于使用指定外部数据库的自定义资源安装的 Fuse Online 环境。在
my-fuse-online-project
项目中安装 Fuse Online,您在 secret 的YAML
文件中指定(第 4 步)。对于 OCP 4.6 及更新的版本,请按照 从 OperatorHub 安装 Fuse Online Operator 中的说明进行操作。在部署 Fuse Online 项目之前,在 OpenShift 4.x 项目中添加 Fuse Online 实例,请编辑自定义资源以指定外部数据库的使用,例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
syndesis-external-db:5432
替换为外部 PostgreSQL 数据库的主机名和端口。 -
将
db-user-name
替换为连接用户名。 -
将
db-name
替换为数据库的名称。
结果
Fuse Online 安装过程使用自定义资源中的设置来确定安装的 Fuse 在线环境的配置。
正确安装和部署后,Fuse Online 会显示除 syndesis-db
之外所需的所有 pod。syndesis-db
不使用 syndesis-
db,而是通过外部数据库的服务名称连接到数据库。如果外部数据库配置不正确,则 syndesis-server
无法初始化,Fuse Online 部署最终会出错。