9.2. 시스템 이미지 빌드

이 섹션에서는 시스템 이미지를 빌드하는 단계를 제공합니다.

사전 요구 사항

절차

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

    tar -xzf 3scale-amp-openshift-templates-3scale-2.11.1-GA.tar.gz
  2. Oracle Database Instant Client 패키지 파일을 3scale-amp-openshift-templates-3scale-2.11.1/amp/system-oracle/oracle-client-files 디렉터리에 배치합니다.
  3. 3scale 2.11 amp.yml 템플릿을 다운로드합니다.
  4. -f 옵션을 사용하여 oc new-app 명령을 실행하고 build.yml OpenShift 템플릿을 지정합니다.

    $ oc new-app -f build.yml
  5. oc new-app 명령을 -f 옵션과 함께 실행하여 amp.yml OpenShift 템플릿을 표시하고 -p 옵션을 사용하여 OpenShift 클러스터 도메인으로 WILDCARD_DOMAIN 매개변수를 지정합니다.

    $ oc new-app -f amp.yml -p WILDCARD_DOMAIN=mydomain.com
  6. 다음 oc patch 명령을 입력하고 SYSTEM_PASSWORDOracle 데이터베이스 준비에 설정한 Oracle Database system 암호로 바꿉니다.

    $ 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"}]}}}}}}'
  7. Oracle 데이터베이스 준비에 지정된 DATABASE_URL을 입력하여 Oracle 데이터베이스를 가리키도록 다음 명령을 입력합니다.

    $ oc patch secret/system-database -p '{"stringData": {"URL": "DATABASE_URL"}}'
  8. oc start-build 명령을 입력하여 새 시스템 이미지를 빌드합니다.

    $ oc start-build 3scale-amp-system-oracle --from-dir=.
  9. 빌드가 완료될 때까지 기다립니다. 빌드 상태를 확인하려면 다음 명령을 실행합니다.

    $ oc get build <build-name> -o jsonpath="{.status.phase}"
    1. 빌드가 완료 상태가 될 때까지 기다립니다.

9.2.1. ImageChange 트리거 업데이트

새로운 Oracle 기반 시스템 이미지를 사용하도록 System 이미지를 사용하는 DeploymentConfig의 ImageChange 트리거를 업데이트합니다.

사전 요구 사항

절차

  1. 현재 3scale 릴리스를 환경 변수에 저장합니다.

    $ export THREESCALE_RELEASE=2.11
  2. 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가 중지되었을 때까지 기다립니다.

  3. 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가 중지되었을 때까지 기다립니다.

  4. 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 를 제거합니다.

  5. 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 지원 구성을 참조하십시오.