2.3. 使用数据库配置 TrustyAI


如果您在 OpenShift 集群(如 MySQL 或 MariaDB)中有一个关系数据库,您可以将 TrustyAI 配置为使用数据库而不是持久性卷声明(PVC)。使用数据库而不是 PVC 来提高 TrustyAI 中的可扩展性、性能和数据管理。在部署前,为 TrustyAI 提供数据库配置 secret。您可以创建 secret,或指定项目中现有 Kubernetes secret 的名称。

先决条件

  • 具有集群管理员特权。
  • 您已下载并安装 OpenShift 命令行界面 (CLI)。请参阅安装 OpenShift CLI
  • 您已启用了 TrustyAI 组件,如 启用 TrustyAI 组件 中所述。
  • 数据科学家已创建了数据科学项目,如创建 数据科学项目 中所述,其中包含数据科学家想要监控的模型。
  • 如果您要使用外部 MySQL 数据库配置 TrustyAI 服务,您的数据库必须已存在于集群中,且至少使用 MySQL 版本 5.x。但是,红帽建议您使用 MySQL 版本 8.x。
  • 如果您要使用 MariaDB 数据库配置 TrustyAI 服务,您的数据库必须已位于集群中,并使用 MariaDB 版本 10.3 或更高版本。但是,红帽建议您至少使用 MariaDB 版本 10.5。
注意

传输安全层(TLS)协议不适用于 MariaDB operator 0.29 或更高版本。

流程

  1. 在一个终端窗口中,如果您还没有以集群管理员登录到 OpenShift 集群,请登录 OpenShift CLI,如下例所示:

    $ oc login <openshift_cluster_url> -u <admin_username> -p <password>
    Copy to Clipboard Toggle word wrap
  2. 可选:如果要在 TrustyAI 和数据库之间使用 TLS 连接,请创建一个 TrustyAI 服务数据库 TLS secret,使用与数据库相同的证书。

    1. 创建包含 TLS secret 的 YAML 文件并添加以下代码:

      apiVersion: v1
      kind: Secret
      metadata:
        name: <service_name>-db-tls
      type: kubernetes.io/tls
      data:
        tls.crt: |
          <TLS CERTIFICATE>
      
        tls.key: |
          <TLS KEY>
      Copy to Clipboard Toggle word wrap
    2. 使用文件名 < service_name>-db-tls.yaml 保存文件。例如,如果您的服务名称是 trustyai-service,请将文件保存为 trustyai-service-db-tls.yaml
    3. 应用 data Science 项目中的 YAML 文件,其中包含数据科学家要监控的型号:

      $ oc apply -f <service_name>-db-tls.yaml -n <project_name>
      Copy to Clipboard Toggle word wrap
  3. 创建具有数据库凭证的 secret (或指定现有 secret)。

    1. 创建包含您的 secret 的 YAML 文件并添加以下代码:

      apiVersion: v1
      kind: Secret
      metadata:
        name: db-credentials
      type: Opaque
      stringData:
        databaseKind: <mariadb> 
      1
      
        databaseUsername: <TrustyAI_username> 
      2
      
        databasePassword: <TrustyAI_password> 
      3
      
        databaseService: mariadb-service 
      4
      
        databasePort: 3306 
      5
      
        databaseGeneration: update 
      6
      
        databaseName: trustyai_service 
      7
      Copy to Clipboard Toggle word wrap
      1
      目前唯一支持的 databaseKind 值为 mariadb
      2
      与数据库交互时,您希望 TrustyAI 使用的用户名。
      3
      TrustyAI 在连接到数据库时必须使用的密码。
      4
      当连接到数据库时,TrustyAI 必须使用的 Kubernetes (K8s)服务(默认的 mariadb)。
      5
      TrustyAI 在连接到数据库时必须使用的端口(默认为 3306)。
      6
      TrustyAI 使用的数据库架构生成策略。它是 quarkus.hibernate-orm.database.generation 参数的设置,它决定了 TrustyAI 在初始连接上如何与数据库进行交互。设置为 none创建drop-and-createdropupdatevalidate
      7
      用户名和密码验证的数据库服务中的单个数据库名称,以及 TrustyAI 应该读取和写入数据库服务器的特定数据库名称。
    2. 使用文件名 db-credentials.yaml 保存文件。安装或更改 TrustyAI 服务时,稍后您将需要此名称。
    3. 应用 data Science 项目中的 YAML 文件,其中包含数据科学家要监控的型号:

      $ oc apply -f db-credentials.yaml -n <project_name>
      Copy to Clipboard Toggle word wrap
  4. 如果您要在项目首次安装 TrustyAI,请继续为项目 安装 TrustyAI 服务

    如果您已在项目上安装了 TrustyAI,您可以使用 PVC 将现有 TrustyAI 服务迁移到使用数据库。

    1. 创建一个 YAML 文件来更新 TrustyAI 服务自定义资源(CR)并添加以下代码:

      apiVersion: trustyai.opendatahub.io/v1alpha1
      kind: TrustyAIService
      metadata:
        annotations:
          trustyai.opendatahub.io/db-migration: "true" 
      1
      
        name: trustyai-service 
      2
      
      spec:
        storage:
          format: "DATABASE" 
      3
      
          folder: "/inputs" 
      4
      
            size: "1Gi" 
      5
      
          databaseConfigurations: <database_secret_credentials> 
      6
      
        data:
          filename: "data.csv" 
      7
      
        metrics:
          schedule: "5s" 
      8
      Copy to Clipboard Toggle word wrap
      1
      设置为 true,以提示从 PVC 迁移到数据库存储。
      2
      TrustyAI 服务实例的名称。
      3
      数据的存储格式。将此字段设置为 DATABASE
      4
      您存储数据的 PVC 中的位置。这必须与现有 CR 中指定的值匹配。
      5
      要请求的数据大小。
      6
      带有您在上一步中创建的数据库凭证的 secret 名称。例如,db-credentials
      7
      现有存储数据文件的后缀。这必须与现有 CR 中指定的值匹配。
      8
      计算指标的时间间隔。默认值为 5s。持续时间使用 ISO-8601 格式指定。例如,5s 代表 5 秒,5m 代表 5 分钟,5h 代表 5 小时。
    2. 保存该文件。例如,trustyai_crd.yaml
    3. 将新的 TrustyAI 服务 CR 应用到包含数据科学家要监控的模型的数据科学项目:

      $ oc apply -f trustyai_crd.yaml -n <project_name>
      Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat