9.2. 시스템 이미지 빌드
이 섹션에서는 시스템 이미지를 빌드하는 단계를 제공합니다.
사전 요구 사항
- 이미 Oracle 데이터베이스 준비의 단계를 수행해야 합니다.
절차
GitHub 리포지토리에서 3scale용 OpenShift 템플릿 을 복제합니다. 다음 명령을 사용합니다.
$ git clone --branch 3scale-2.10.0-GA https://github.com/3scale/3scale-amp-openshift-templates.git
-
Oracle Database Instant Client Package 파일을
3scale-amp-openshift-templates/amp/system-oracle/oracle-client-files
디렉터리에 배치합니다. - 3scale 2.10 amp.yml 템플릿을 다운로드합니다.
-f
옵션을 사용하여oc new-app
명령을 실행하고build.yml
OpenShift 템플릿을 지정합니다.$ oc new-app -f build.yml
oc new-app
명령을-f
옵션과 함께 실행하여amp.yml
OpenShift 템플릿을 표시하고-p
옵션을 사용하여 OpenShift 클러스터 도메인으로WILDCARD_DOMAIN
매개변수를 지정합니다.$ oc new-app -f amp.yml -p WILDCARD_DOMAIN=mydomain.com
다음
oc patch
명령을 입력하고SYSTEM_PASSWORD
를 Oracle 데이터베이스 준비에 설정한 Oracle Databasesystem
암호로 바꿉니다.$ oc patch dc/system-app -p '[{"op": "add", "path": "/spec/strategy/rollingParams/pre/execNewPod/env/-", "value": {"name": "ORACLE_SYSTEM_PASSWORD", "value": "SYSTEM_PASSWORD"}}]' --type=json $ oc patch dc/system-app -p '{"spec": {"strategy": {"rollingParams": {"post":{"execNewPod": {"env": [{"name": "ORACLE_SYSTEM_PASSWORD", "value": "SYSTEM_PASSWORD"}]}}}}}}'
Oracle 데이터베이스 준비에 지정된
DATABASE_URL
을 입력하여 Oracle 데이터베이스를 가리키도록 다음 명령을 입력합니다.$ oc patch secret/system-database -p '{"stringData": {"URL": "DATABASE_URL"}}'
oc start-build
명령을 입력하여 새 시스템 이미지를 빌드합니다.$ oc start-build 3scale-amp-system-oracle --from-dir=.
빌드가 완료될 때까지 기다립니다. 빌드 상태를 확인하려면 다음 명령을 실행합니다.
$ oc get build <build-name> -o jsonpath="{.status.phase}"
- 빌드가 완료 상태가 될 때까지 기다립니다.
9.2.1. ImageChange 트리거 업데이트
새로운 Oracle 기반 시스템 이미지를 사용하도록 System 이미지를 사용하는 DeploymentConfig의 ImageChange 트리거를 업데이트합니다.
사전 요구 사항
- 먼저 시스템 이미지 빌드의 단계를 수행합니다.
절차
현재 3scale 릴리스를 환경 변수에 저장합니다.
$ export THREESCALE_RELEASE=2.10
system-app
ImageChange 트리거를 업데이트합니다.$ oc set triggers dc/system-app --from-image=amp-system:${THREESCALE_RELEASE} --containers=system-master,system-developer,system-provider --remove $ oc set triggers dc/system-app --from-image=amp-system:${THREESCALE_RELEASE}-oracle --containers=system-master,system-developer,system-provider
이렇게 하면
system-app
DeploymentConfig가 다시 배포됩니다. 재배포될 때까지 기다린 후 해당 새 Pod가 준비되고 이전 Pod가 중지되었을 때까지 기다립니다.system-sidekiq
ImageChange 트리거를 업데이트합니다.$ oc set triggers dc/system-sidekiq --from-image=amp-system:${THREESCALE_RELEASE} --containers=system-sidekiq,check-svc --remove $ oc set triggers dc/system-sidekiq --from-image=amp-system:${THREESCALE_RELEASE}-oracle --containers=system-sidekiq,check-svc
이렇게 하면
system-sidekiq
DeploymentConfig가 다시 배포됩니다. 재배포될 때까지 기다린 후 해당 새 Pod가 준비되고 이전 Pod가 중지되었을 때까지 기다립니다.system-sphinx
ImageChange 트리거를 업데이트합니다.$ oc set triggers dc/system-sphinx --from-image=amp-system:${THREESCALE_RELEASE} --containers=system-sphinx,system-master-svc --remove $ oc set triggers dc/system-sphinx --from-image=amp-system:${THREESCALE_RELEASE}-oracle --containers=system-sphinx,system-master-svc
이렇게 하면
system-sphinx
DeploymentConfig가 다시 배포됩니다. 재배포될 때까지 기다린 후 해당 새 Pod가 준비되고 이전 Pod가 중지되었을 때까지 기다립니다.참고다음 단계는 선택 사항입니다. 3scale 설치 후 이를 사용하여
ORACLE_SYSTEM_PASSWORD
를 제거합니다.Oracle Database로 3scale 시스템 이미지를 설정한 경우
system-app
DeploymentConfig에서ORACLE_SYSTEM_PASSWORD
를 제거합니다. 3scale의 새 버전으로 업그레이드할 때까지 다시 필요하지 않습니다.$ oc set env dc/system-app ORACLE_SYSTEM_PASSWORD-
추가 리소스
3scale 및 Oracle Database 지원에 대한 자세한 내용은 Red Hat 3scale API Management 지원 구성을 참조하십시오.