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 클러스터에서 액세스할 수 있는 컨테이너 이미지를 내보내는 컨테이너 레지스트리입니다.
- 다음 절차에서 생성되므로 APIManager 사용자 정의 리소스를 설치하지 마십시오.
- 3scale의 레지스트리 서비스 계정.
- OpenShift 클러스터에서 액세스할 수 있는 Oracle 데이터베이스 의 지원되는 버전입니다.
- 설치 절차를 위해 Oracle Database 시스템 사용자에게 액세스합니다.
Oracle을 시스템 데이터베이스로 사용하여 Operator로 3scale을 설치하려면 다음 단계를 사용하십시오.
2.7.1. Oracle 데이터베이스 준비
3scale 관리자는 이를 기본값으로 사용하기로 결정할 때 3scale 설치를 위해 Oracle 데이터베이스를 완전히 준비해야 합니다.
절차
- 새 데이터베이스를 만듭니다.
다음 설정을 적용합니다.
ALTER SYSTEM SET max_string_size=extended SCOPE=SPFILE;
3scale을 사용하여 Oracle Database를 설치하기 전에 시스템 이외의 일반 사용자를 생성합니다.
-
일반 Oracle 데이터베이스 비 시스템 사용자의 암호는 고유해야 하며
시스템
암호와 일치하지 않아야 합니다. 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 데이터베이스 비 시스템 사용자의 암호는 고유해야 하며
추가 리소스
- 새 데이터베이스 생성에 대한 자세한 내용은 Oracle Database 19c 설명서를 참조하십시오.
2.7.2. 사용자 정의 시스템 컨테이너 이미지 빌드
절차
GitHub 리포지토리에서 3scale OpenShift 템플릿을 다운로드하고 아카이브를 추출합니다.
tar -xzf 3scale-amp-openshift-templates-3scale-2.12.0-GA.tar.gz
Instant Client 다운로드 페이지에서 다음을 다운로드합니다.
- 클라이언트: 이는 basic-lite 또는 basic 일 수 있습니다.
- ODBC driver.
Oracle Database 19c용 SDK
- 3scale의 경우 Linux x86-64용 Instant Client Downloads(64비트)를 사용하십시오.
- ppc64le 및 3scale의 경우 Power Little Endian (64 비트)에서 Linux용 Oracle Instant Client 다운로드를 사용하십시오.
다음 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은 다음 단계에서 적절한 버전을 자동으로 다운로드하여 사용합니다.
-
Oracle Database Instant Client 패키지 파일을
3scale-amp-openshift-templates-3scale-2.12-GA/amp/system-oracle/oracle-client-files
디렉터리에 배치합니다. 레지스트리 서비스 계정 생성 에서 생성한 인증 정보를 사용하여
registry.redhat.io
계정에 로그인합니다.$ docker login registry.redhat.io
사용자 지정 시스템 Oracle 기반 이미지를 빌드합니다. 이미지 태그는 다음 예와 같이 고정된 이미지 태그여야 합니다.
$ docker build . --tag myregistry.example.com/system-oracle:2.12.0-1
시스템 Oracle 기반 이미지를 OCP 클러스터에서 액세스할 수 있는 컨테이너 레지스트리로 푸시합니다. 이 컨테이너 레지스트리는 3scale 솔루션을 설치할 위치입니다.
$ docker push myregistry.example.com/system-oracle:2.12.0-1
2.7.3. Operator를 사용하여 Oracle로 3scale 설치
절차
-
해당 필드에
system-database
시크릿을 생성하여 Oracle Database URL 연결 문자열 및 Oracle Database 시스템 암호를 설정합니다. Oracle Database의 외부 데이터베이스 설치를 참조하십시오. 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