搜索

2.6. 使用 Oracle 作为系统数据库的操作器安装 3scale

download PDF

作为红帽 3scale API 管理管理员,您可以使用 Oracle 数据库使用操作器安装 3scale。默认情况下,3scale 2.13 有一个名为 system 的组件,该组件将配置数据存储在 MySQL 数据库中。您可以覆盖默认数据库,并将信息存储在外部 Oracle 数据库中。

注意
  • 当您只执行 3scale 的 Operator 安装时,OpenShift Container Platform(OCP)版本 4.2 和 4.3 不支持 Oracle 数据库。如需更多信息,请参阅 Red Hat 3scale API 管理支持的配置 页面。
  • 在本文档中,myregistry.example.com 用作 registry URL 的示例。将它替换为您的 registry URL。
  • 免责声明:包括在此处的外部网络链接仅为方便用户而提供。红帽没有审阅链接的内容,并不对其内容负责。包含任何指向外部网站的链接并不表示红帽认可该网站或其实体、产品或服务。您同意红帽对因您使用(或依赖)外部网站或内容而导致的任何损失或费用不承担任何责任。

先决条件

  • 一个容器 registry,用于推送容器镜像,该镜像可由安装 3scale 的 OCP 集群访问。
  • 3scale operator 的安装

    • 不要安装 APIManager CR,因为它将在以下流程中创建。
  • 3scale 的 Registry 服务帐户
  • 可以从 OpenShift cluster 访问的一个 Oracle Database 的支持版本。
  • 访问 Oracle Database SYSTEM 用户以获取安装过程。

要使用 Oracle 作为系统数据库通过操作器安装 3scale,请执行以下步骤:

2.6.1. 准备 Oracle 数据库

作为 3scale 管理员,当您决定将其用于系统组件时,您必须为 3scale 安装准备 Oracle 数据库。

流程

  1. 创建新数据库。
  2. 应用以下设置:

    ALTER SYSTEM SET max_string_size=extended SCOPE=SPFILE;
  3. 配置数据库用户

    在 3scale 中设置 Oracle 数据库集成有两个选项:带有或不提供 Oracle SYSTEM 用户密码。

    3scale 仅将 SYSTEM 用户用于初始设置,它包含创建常规用户并授予其所需的权限。以下 SQL 命令将设置一个具有适当权限的普通用户。({DB_USER}{DB_PASSWORD} 是需要替换为实际值的占位符):

    CREATE USER {DB_USER} IDENTIFIED BY {DB_PASSWORD};
    GRANT unlimited tablespace TO {DB_USER};
    GRANT create session TO {DB_USER};
    GRANT create table TO {DB_USER};
    GRANT create view TO {DB_USER};
    GRANT create sequence TO {DB_USER};
    GRANT create trigger TO {DB_USER};
    GRANT create procedure TO {DB_USER};
    1. 使用 SYSTEM 用户:

      • system-database secret 的 ORACLE_ SYSTEM _PASSWORD 字段中提供 SYSTEM 用户密码。
      • 安装前,普通用户不需要存在。它将由 3scale 初始化脚本创建。
      • 在连接字符串中为常规用户提供所需的用户名和密码(例如 oracle-enhanced://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME})在 system-database secret 的 URL 字段中提供。
      • 常规 Oracle 数据库的非系统用户的密码必须是唯一的,且与 SYSTEM 用户密码不匹配。
      • 如果具有指定用户名的用户已存在,3scale 初始化脚本将使用以下命令更新密码:

        ALTER USER {DB_USER} IDENTIFIED BY {DB_PASSWORD}

        如果参数 PASSWORD_REUSE_TIME and PASSWORD_REUSE_MAX 被设置为限制重新使用相同的密码,则数据库配置可能会阻止这个命令成功完成。

    2. 手动设置常规数据库用户:

      • 您不需要在 system-database secret 中提供 ORACLE_SYSTEM_PASSWORD
      • 在 3scale 安装前,在 system-database secret 的 URL 字段中指定的连接字符串中指定的常规数据库用户(而不是 SYSTEM)。
      • 用于安装的普通用户必须具有上面列出的所有权限。

其他资源

2.6.2. 构建自定义系统容器镜像

流程

  1. GitHub 存储库下载 3scale OpenShift 模板并提取存档:

    tar -xzf 3scale-2.13.0-GA.tar.gz
  2. Instant Client Downloads 页面中下载:

  3. 检查以下 Oracle 软件组件版本的表:

    • Oracle Instant Client Package: Basic 或 Basic Light
    • Oracle Instant Client Package: SDK
    • Oracle Instant Client Package: ODBC

      表 2.4. 3scale 的 Oracle 19c 示例软件包
      Oracle 19c 软件包名称压缩的文件名

      基本的

      instantclient-basic-linux.x64-19.8.0.0.0dbru.zip

      Basic Light

      instantclient-basiclite-linux.x64-19.8.0.0.0dbru.zip

      SDK

      instantclient-sdk-linux.x64-19.8.0.0.0dbru.zip

      ODBC

      instantclient-odbc-linux.x64-19.8.0.0.0dbru.zip

      表 2.5. Oracle 19c 示例软件包用于 ppc64le 和 3scale
      Oracle 19c 软件包名称压缩的文件名

      基本的

      instantclient-basic-linux.leppc64.c64-19.3.0.0.0dbru.zip

      Basic Light

      instantclient-basiclite-linux.leppc64.c64-19.3.0.0.0dbru.zip

      SDK

      instantclient-sdk-linux.leppc64.c64-19.3.0.0.0dbru.zip

      ODBC

      instantclient-odbc-linux.leppc64.c64-19.3.0.0.0dbru.zip

    注意

    如果本地下载并存储的客户端软件包版本与 3scale 期望不匹配,3scale 将自动下载并使用以下步骤中的相应版本。

  4. 将 Oracle Database Instant Client Package 文件放在 system-oracle-3scale-2.13.0-GA/oracle-client-files 目录中。
  5. 使用您在创建 registry 服务帐户中创建的凭证登录到 registry.redhat.io 帐户。

    $ docker login registry.redhat.io
  6. 构建基于 Oracle 的自定义系统镜像.镜像标签必须是固定镜像标签,如下例所示:

    $ docker build . --tag myregistry.example.com/system-oracle:2.13.0-1
  7. 将基于 Oracle 的系统镜像推送到 OCP 集群可访问的容器注册表。此容器 registry 是安装 3scale 解决方案的位置:

    $ docker push myregistry.example.com/system-oracle:2.13.0-1

2.6.3. 使用操作器安装带有 Oracle 的 3scale

流程

  1. 通过使用对应字段创建 system-database secret,设置 Oracle Database URL 连接字符串和 Oracle Database 系统密码。请参阅为 Oracle 数据库安装外部数据库
  2. 通过创建 APIManager CR 来安装 3scale 解决方案。按照使用 operator 部署 3scale 中的说明进行操作。

    • APIManager CR 必须指定设置为您之前构建的基于 Oracle 的系统的 .spec.system.image 字段:

      apiVersion: apps.3scale.net/v1alpha1
      kind: APIManager
      metadata:
        name: example-apimanager
      spec:
        imagePullSecrets:
        - name: threescale-registry-auth
        - name: custom-registry-auth
        system:
          image: "myregistry.example.com/system-oracle:2.13.0-1"
        externalComponents:
          system:
            database: true
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.