2.6. Oracle을 시스템 데이터베이스로 사용하여 Operator와 함께 3scale 설치
Red Hat 3scale API Management 관리자는 Oracle Database를 사용하여 Operator와 함께 3scale을 설치할 수 있습니다. 기본적으로 3scale 2.13에는 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로 바꿉니다. - 면책 조항: 여기에 포함된 외부 웹 사이트와의 링크는 편의를 위해서만 제공됩니다. Red Hat은 링크를 검토하지 않았으며 컨텐츠 또는 이용 가능 여부에 대해 책임을 지지 않습니다. 외부 웹 사이트에 대한 링크가 포함되어 있다고 해서 Red Hat이 해당 웹 사이트 또는 해당 엔티티, 제품, 서비스를 보증한다는 의미는 아닙니다. 사용자는 본인이 그러한 외부 사이트나 콘텐츠를 사용(또는 신뢰)하여 초래되는 어떠한 손실이나 비용에 대해 Red Hat이 어떠한 책임도 지지 않는 데 동의합니다.
사전 요구 사항
- 3scale이 설치된 OCP 클러스터에서 액세스할 수 있는 컨테이너 이미지를 내보내는 컨테이너 레지스트리입니다.
- 다음 절차에서 생성되므로 APIManager CR을 설치하지 마십시오.
- 3scale의 레지스트리 서비스 계정.
- OpenShift 클러스터에서 액세스할 수 있는 Oracle 데이터베이스 의 지원되는 버전입니다.
-
설치 절차를 위해 Oracle Database
SYSTEM
사용자에게 액세스합니다.
Oracle을 시스템 데이터베이스로 사용하여 Operator로 3scale을 설치하려면 다음 단계를 사용하십시오.
2.6.1. Oracle 데이터베이스 준비
3scale 관리자는 시스템 구성 요소에 사용하기로 결정할 때 3scale 설치를 위해 Oracle Database를 완전히 준비해야 합니다.
절차
- 새 데이터베이스를 만듭니다.
다음 설정을 적용합니다.
ALTER SYSTEM SET max_string_size=extended SCOPE=SPFILE;
데이터베이스 사용자 구성
Oracle Database 통합을 3scale에서 설정하는 방법은 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};
SYSTEM
사용자 사용:-
system-database
시크릿의ORACLE_
필드에 SYSTEM 사용자 암호를 제공합니다.SYSTEM
_PASSWORD - 일반 사용자는 설치 전에 존재할 필요가 없습니다. 3scale 초기화 스크립트에 의해 생성됩니다.
-
system-database
시크릿의URL
필드에 연결 문자열(예:oracle-enhanced://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_NAME}
)에 원하는 사용자 이름과 암호를 입력합니다. -
일반 Oracle Database 비 시스템 사용자의 암호는 고유해야 하며
SYSTEM
사용자 암호와 일치하지 않아야 합니다. 지정된 사용자 이름을 가진 사용자가 이미 존재하는 경우 3scale 초기화 스크립트에서 다음 명령을 사용하여 암호를 업데이트하려고 합니다.
ALTER USER {DB_USER} IDENTIFIED BY {DB_PASSWORD}
암호 password_REUSE_
TIME 및
매개 변수가 동일한 암호 재사용을 제한하는 방식으로 설정되는 경우 데이터베이스 구성이 이 명령이 성공적으로 완료되지 않을 수 있습니다.PASSWORD_REUSE_
MAX
-
일반 데이터베이스 사용자의 수동 설정:
-
system-database
시크릿에ORACLE_SYSTEM_PASSWORD
를 제공할 필요가 없습니다. -
3scale 설치 전에
system-database
시크릿의URL
필드에 있는 연결 문자열에 지정된 일반 데이터베이스 사용자(SYSTEM
)가 있어야 합니다. - 설치에 사용되는 일반 사용자에게는 위에 나열된 모든 권한이 있어야 합니다.
-
추가 리소스
- 새 데이터베이스 생성에 대한 자세한 내용은 Oracle Database 19c 설명서를 참조하십시오.
2.6.2. 사용자 정의 시스템 컨테이너 이미지 빌드
절차
GitHub 리포지토리에서 3scale OpenShift 템플릿을 다운로드하고 아카이브를 추출합니다.
tar -xzf 3scale-2.13.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 소프트웨어 구성 요소 버전에 대한 표를 확인하십시오.
- Oracle Instant Client Package: Basic 또는 Basic Light
- Oracle Instant Client Package: SDK
Oracle Instant Client Package: ODBC
표 2.4. 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.5. 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 Package 파일을
system-oracle-3scale-2.13.0-GA/oracle-client-files
디렉터리에 배치합니다. 레지스트리 서비스 계정 생성 에서 생성한 인증 정보를 사용하여
registry.redhat.io
계정에 로그인합니다.$ docker login registry.redhat.io
사용자 지정 시스템 Oracle 기반 이미지를 빌드합니다. 이미지 태그는 다음 예와 같이 고정된 이미지 태그여야 합니다.
$ docker build . --tag myregistry.example.com/system-oracle:2.13.0-1
시스템 Oracle 기반 이미지를 OCP 클러스터에서 액세스할 수 있는 컨테이너 레지스트리로 푸시합니다. 이 컨테이너 레지스트리는 3scale 솔루션을 설치할 위치입니다.
$ docker push myregistry.example.com/system-oracle:2.13.0-1
2.6.3. Operator를 사용하여 Oracle로 3scale 설치
절차
-
해당 필드에
system-database
시크릿을 생성하여 Oracle Database URL 연결 문자열 및 Oracle Database 시스템 암호를 설정합니다. Oracle Database의 외부 데이터베이스 설치를 참조하십시오. 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