2.7. Oracle을 시스템 데이터베이스로 사용하여 Operator와 함께 3scale 설치

Red Hat 3scale API Management 관리자는 Oracle Database를 사용하여 Operator와 함께 3scale을 설치할 수 있습니다. 기본적으로 3scale 2.12에는 MySQL 데이터베이스에 구성 데이터를 저장하는 system 이라는 구성 요소가 있습니다. 기본 데이터베이스를 재정의하고 정보를 외부 Oracle 데이터베이스에 저장할 수 있습니다.

참고
  • 3scale Operator 전용 설치를 수행하는 경우 Oracle Database는 OCP(OpenShift Container Platform) 버전 4.2 및 4.3에서는 지원되지 않습니다. 자세한 내용은 Red Hat 3scale API Management Supported Configurations 페이지를 참조하십시오.
  • 이 설명서에서는 myregistry.example.com 이 레지스트리 URL의 예로 사용됩니다. 레지스트리 URL로 바꿉니다.
  • 면책 조항: 외부 웹사이트(s)에 포함된 링크는 편의를 위해서만 제공됩니다. Red Hat은 링크를 검토하지 않았으며 컨텐츠 또는 이용 가능 여부에 대해 책임을 지지 않습니다. 외부 웹 사이트에 대한 링크가 포함되어 있다고 해서 Red Hat이 해당 웹 사이트 또는 해당 엔티티, 제품, 서비스를 보증한다는 의미는 아닙니다. 사용자는 본인이 그러한 외부 사이트나 콘텐츠를 사용(또는 신뢰)하여 초래되는 어떠한 손실이나 비용에 대해 Red Hat이 어떠한 책임도 지지 않는 데 동의합니다.

사전 요구 사항

  • 3scale이 설치된 OCP 클러스터에서 액세스할 수 있는 컨테이너 이미지를 내보내는 컨테이너 레지스트리입니다.
  • 3scale Operator 설치.

    • 다음 절차에서 생성되므로 APIManager 사용자 정의 리소스를 설치하지 마십시오.
  • 3scale의 레지스트리 서비스 계정.
  • OpenShift 클러스터에서 액세스할 수 있는 Oracle 데이터베이스 의 지원되는 버전입니다.
  • 설치 절차를 위해 Oracle Database 시스템 사용자에게 액세스합니다.

Oracle을 시스템 데이터베이스로 사용하여 Operator로 3scale을 설치하려면 다음 단계를 사용하십시오.

2.7.1. Oracle 데이터베이스 준비

3scale 관리자는 이를 기본값으로 사용하기로 결정할 때 3scale 설치를 위해 Oracle 데이터베이스를 완전히 준비해야 합니다.

절차

  1. 새 데이터베이스를 만듭니다.
  2. 다음 설정을 적용합니다.

    ALTER SYSTEM SET max_string_size=extended SCOPE=SPFILE;
  3. 3scale을 사용하여 Oracle Database를 설치하기 전에 시스템 이외의 일반 사용자를 생성합니다.

    1. 일반 Oracle 데이터베이스 비 시스템 사용자의 암호는 고유해야 하며 시스템 암호와 일치하지 않아야 합니다.
    2. Oracle Database 초기화 스크립트는 다음 SQL 명령을 실행합니다.

      ALTER USER {DB_USER} IDENTIFIED BY {DB_PASSWORD}
      • 3scale 설치를 시작하기 전에 이 SQL 명령이 올바르게 실행되는지 확인합니다.
      • {DB_USER}{DB_PASSWORD} 는 일반 비 시스템 사용자의 사용자 이름과 암호입니다.
      • 암호 password_REUSE_ TIME 및 PASSWORD_REUSE_ MAX 매개 변수가 동일한 암호 재사용을 제한하는 방식으로 설정되는 경우 데이터베이스 구성이 이 명령이 성공적으로 완료되지 않을 수 있습니다.
      • Oracle Database 시스템 사용자는 시스템 권한으로 명령을 실행합니다.

        • 일부는 이 GitHub 리포지토리에 자세히 설명되어 있습니다.
        • 데이터베이스에서 테이블을 초기화할 때 Oracle Database initializer에서 최신 버전을 실행할 수 있습니다. 이러한 링크에 나열되지 않은 다른 명령이 있을 수 있습니다.
      • 스키마 마이그레이션을 실행할 때 업그레이드에는 system 사용자가 필요하므로 이전 링크에 포함되지 않은 다른 명령이 실행될 수 있습니다.

추가 리소스

  • 새 데이터베이스 생성에 대한 자세한 내용은 Oracle Database 19c 설명서를 참조하십시오.

2.7.2. 사용자 정의 시스템 컨테이너 이미지 빌드

절차

  1. GitHub 리포지토리에서 3scale OpenShift 템플릿을 다운로드하고 아카이브를 추출합니다.

    tar -xzf 3scale-amp-openshift-templates-3scale-2.12.0-GA.tar.gz
  2. Instant Client 다운로드 페이지에서 다음을 다운로드합니다.

  3. 다음 Oracle 소프트웨어 구성 요소에 대해 Red Hat 3scale API Management 지원 구성을 확인하십시오.

    • Oracle Instant Client 패키지: Basic 또는 Basic Light
    • Oracle Instant Client 패키지: SDK
    • Oracle Instant Client 패키지: ODBC

      표 2.3. Oracle 19c 예제 3scale 패키지

      Oracle 19c 패키지 이름압축 파일 이름

      Basic

      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.4. ppc64le 및 3scale의 Oracle 19c 예제 패키지

      Oracle 19c 패키지 이름압축 파일 이름

      Basic

      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 패키지 파일을 3scale-amp-openshift-templates-3scale-2.12-GA/amp/system-oracle/oracle-client-files 디렉터리에 배치합니다.
  5. 레지스트리 서비스 계정 생성 에서 생성한 인증 정보를 사용하여 registry.redhat.io 계정에 로그인합니다.

    $ docker login registry.redhat.io
  6. 사용자 지정 시스템 Oracle 기반 이미지를 빌드합니다. 이미지 태그는 다음 예와 같이 고정된 이미지 태그여야 합니다.

    $ docker build . --tag myregistry.example.com/system-oracle:2.12.0-1
  7. 시스템 Oracle 기반 이미지를 OCP 클러스터에서 액세스할 수 있는 컨테이너 레지스트리로 푸시합니다. 이 컨테이너 레지스트리는 3scale 솔루션을 설치할 위치입니다.

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

2.7.3. Operator를 사용하여 Oracle로 3scale 설치

절차

  1. 해당 필드에 system-database 시크릿을 생성하여 Oracle Database URL 연결 문자열 및 Oracle Database 시스템 암호를 설정합니다. Oracle Database의 외부 데이터베이스 설치를 참조하십시오.
  2. APIManager 사용자 정의 리소스를 생성하여 3scale 솔루션을 설치합니다. Operator를 사용하여 3scale 배포의 지침을 따릅니다.

    • APIManager 사용자 정의 리소스는 이전에 빌드한 시스템의 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.12.0-1"
        externalComponents:
          system:
            database: true