4.3. 在 OpenShift 中为受信任的工件签名程序配置数据库
使用这个流程,您可以将红帽的 Trusted Artifact Signer (RHTAS)默认数据库替换为 Amazon 的 Relational Database Service (RDS)管理的 MariaDB 实例。
红帽建议在生产环境中使用高可用性 MariaDB 数据库。
先决条件
- 创建 OpenShift 项目的权限,并从 OpenShift 示例目录部署数据库实例。
-
使用
cluster-admin
角色访问 OpenShift Web 控制台。 -
安装了
oc
、curl
和mysql
二进制文件的工作站。 - 具有特权的命令行访问权限,以创建数据库并填充 MariaDB 实例。
流程
- 登录到您要部署 RHTAS 服务的 OpenShift Web 控制台:
- 进入 Developer 视角。
如果项目已存在,选择
trusted-artifact-signer
项目,否则为数据库创建一个新项目:- 若要创建新项目,请单击下拉菜单,再 单击创建项目按钮。
-
将新项目命名为
trusted-artifact-signer
,然后点 Create 按钮。
- 在 Developer Catalog 卡上,单击 Database。
选择 MariaDB,然后单击 Instantiate Template 按钮。
重要不要选择 MariaDB (Ephemeral)。
在 Instantiate Template 页面中,配置以下字段:
-
在 MariaDB Database Name 字段中,输入
trillian
。 -
在 Volume Capacity 字段中,输入
5Gi
。 - 点 Create 按钮。
-
在 MariaDB Database Name 字段中,输入
开始远程 shell 会话:
- 在 Topology 页面中,选择 MariaDB pod 会打开一个侧面板,点 Resources 选项卡。
- 在 Pods 部分下,点 MariaDB pod 名称。
- 点 Terminal 选项卡启动到 MariaDB pod 的远程 shell 会话。
在远程 shell 会话中,验证您可以连接到 Trillian 数据库:
Example
$ mysql -u $MYSQL_USER -p$MYSQL_PASSWORD -D$MYSQL_DATABASE
注意凭据通过服务名称(
mariadb
)存储在机密对象中,包含数据库的名称和用户名,以及数据库 root 密码。记录这些凭证,因为稍后在创建数据库 secret 对象时将使用这些凭证。断开与数据库的连接:
Example
EXIT
下载数据库配置文件:
Example
$ curl -o dbconfig.sql https://raw.githubusercontent.com/securesign/trillian/main/storage/mysql/schema/storage.sql
将数据库配置应用到新数据库:
语法
mysql -h FQDN_or_SERVICE_ADDR -P 3306 -u USER_NAME -p PASSWORD -D DB_NAME < PATH_TO_CONFIG_FILE
Example
$ mysql -h rhtasdb.example.com -P 3306 -u trillian -p mypassword123 -D trillian < dbconfig.sql
在工作站上打开一个终端,并登录到 OpenShift:
语法
oc login --token=TOKEN --server=SERVER_URL_AND_PORT
Example
$ oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443
注意您可以从 OpenShift Web 控制台在命令行中查找您的登录令牌和 URL。登录 OpenShift Web 控制台。点您的用户名,然后点 Copy login 命令。如果被要求,请再次提供您的用户名和密码,然后单击 Display Token 查看命令。
创建一个新的 Secret,其中包含之前创建的 MariaDB 实例中 Trillian 数据库的凭证:
语法
oc create secret generic OBJECT_NAME \ --from-literal=mysql-database=trillian \ --from-literal=mysql-host=FQDN_or_SERVICE_ADDR \ --from-literal=mysql-password=PASSWORD \ --from-literal=mysql-port=3306 \ --from-literal=mysql-root-password=PASSWORD \ --from-literal=mysql-user=USER_NAME
Example
$ oc create secret generic trillian-mysql \ --from-literal=mysql-database=trillian \ --from-literal=mysql-host=mariadb.trusted-artifact-signer.svc.cluster.local \ --from-literal=mysql-password=mypassword123 \ --from-literal=mysql-port=3306 \ --from-literal=mysql-root-password=myrootpassword123 \ --from-literal=mysql-user=trillian
您可以将 OpenShift 内部服务名称用于 MariaDB 实例。
- 现在,您可以部署 Trusted Artifact Signer 服务来使用此数据库。如果您遵循 Trusted Artifact Signer 安装过程,您可以 继续下一步。
其他资源