2.3. 使用数据连接存储数据

在本教程中,您需要两个 S3 兼容对象存储存储桶,如 Ceph、Minio 或 AWS S3:

  • My Storage - 使用此存储桶存储您的模型和数据。您可以为笔记本和模型服务器重复使用此存储桶及其连接。
  • Pipelines Artifacts - 使用这个存储桶作为管道工件的存储。创建管道服务器时需要管道工件存储桶。在本教程中,创建此存储桶以将其与第一个存储桶分离,以实现清晰性。

您可以使用自己的存储存储桶或运行提供的脚本,该脚本可为您创建本地 Minio 存储存储桶。

另外,您必须创建一个与每个存储桶的数据连接。数据连接是一个资源,其中包含连接到对象存储桶所需的配置参数。

本教程有两个选项,具体取决于您要使用自己的存储存储桶还是使用脚本来创建本地 Minio 存储存储桶:

2.3.1. 创建到您自己的 S3 兼容对象存储的数据连接

注意

如果您没有自己的兼容 s3 的存储,或者您想要使用可处理的本地 Minio 实例,请跳过此部分,并按照 运行脚本中的步骤来安装本地对象存储存储桶并创建数据连接

前提条件

要创建到现有 S3 兼容存储存储桶的数据连接,您需要存储存储桶的以下凭证信息:

  • 端点 URL
  • 访问密钥
  • Secret 密钥
  • 区域
  • bucket 名称

如果您没有此信息,请联系您的存储管理员。

流程

创建与两个存储存储桶的数据连接。

创建用于保存数据和型号的数据连接

  1. 在 OpenShift AI 仪表板中,导航到数据科学项目的页面。
  2. 单击 Data connections 选项卡,然后单击 Add data connection

    添加数据连接
  3. 填写 Add data connection 表单,并将您的连接命名为 My Storage。此连接用于保存您的个人工作,包括数据和型号。

    添加我的存储表单
  4. Add data connection

创建用于保存管道工件的数据连接

注意

如果您不打算完成教程的 pipelines 部分,您可以跳过这一步。

  1. Add data connection
  2. 填写表单并命名您的连接 Pipeline Artifacts

    添加管道工件表单
  3. Add data connection

验证

在项目的 Data connections 选项卡中,检查是否列出了您的数据连接。

项目数据连接列表

后续步骤

2.3.2. 运行脚本来安装本地对象存储存储桶并创建数据连接

为方便起见,运行自动完成这些任务的脚本(由以下步骤提供):

  • 在项目中创建 Minio 实例。
  • 在该 Minio 实例中创建两个存储存储桶。
  • 为您的 Minio 实例生成随机用户 id 和密码。
  • 在项目中创建两个数据连接,每个存储桶都有一个连接,它们使用相同的凭证。
  • 为服务网格功能安装所需的网络策略。

该脚本基于 部署 Minio 的指南

重要

脚本创建的基于 Minio 的对象存储 不适用于生产环境

注意

前提条件

您必须知道 data Science 项目的 OpenShift 资源名称,以便在正确的项目中运行提供的脚本。获取项目的资源名称:

在 OpenShift AI 仪表板中,选择 Data Science Projects,然后单击项目名称旁边的 ? 图标。此时会出现一个文本框,其中包含有关项目的信息,包括其资源名称:

项目列表资源名称
注意

以下流程描述了如何从 OpenShift 控制台运行脚本。如果您在 OpenShift 中知识,并可从命令行访问集群,而不是按照以下流程中的步骤,您可以使用以下命令运行脚本:

oc apply -n <your-project-name/> -f https://github.com/rh-aiservices-bu/fraud-detection/raw/main/setup/setup-s3.yaml

流程

  1. 在 OpenShift AI 仪表板中,点应用程序启动程序图标,然后选择 OpenShift Console 选项。

    OpenShift 控制台链接
  2. 在 OpenShift 控制台中,单击顶部导航栏中的 +

    添加资源图标
  3. 从项目列表中选择您的项目。

    选择项目
  4. 验证您选择了了正确的项目。

    所选项目
  5. 复制以下代码并将其粘贴到 Import YAML 编辑器。

    注: 此代码获取并应用 setup-s3-no-sa.yaml 文件。

    ---
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: demo-setup
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: demo-setup-edit
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: edit
    subjects:
      - kind: ServiceAccount
        name: demo-setup
    ---
    apiVersion: batch/v1
    kind: Job
    metadata:
      name: create-s3-storage
    spec:
      selector: {}
      template:
        spec:
          containers:
            - args:
                - -ec
                - |-
                  echo -n 'Setting up Minio instance and data connections'
                  oc apply -f https://github.com/rh-aiservices-bu/fraud-detection/raw/main/setup/setup-s3-no-sa.yaml
              command:
                - /bin/bash
              image: image-registry.openshift-image-registry.svc:5000/openshift/tools:latest
              imagePullPolicy: IfNotPresent
              name: create-s3-storage
          restartPolicy: Never
          serviceAccount: demo-setup
          serviceAccountName: demo-setup
  6. Create

验证

您应该看到 "Resources successfully created" 信息并列出以下资源:

  • demo-setup
  • demo-setup-edit
  • 创建 s3-storage

后续步骤