2.9. WildcardRouter에서 Zync Route Management로 마이그레이션


3scale 2.6에서는 WildcardRouter 구성 요소와 와일드카드 OpenShift 경로가 제거되었으며 이제 Zync 하위 시스템에서 관리하는 개별 OpenShift 경로로 생성됩니다. 이 절차에서는 WildcardRouter에서 Zync로 경로 관리 마이그레이션을 자세히 설명합니다.

이 시점에서 모든 3scale 이미지가 3scale 2.6으로 업그레이드되었습니다. 3scale 서비스 및 테넌트에 해당하는 OpenShift 경로 생성 및 삭제는 Zync 하위 시스템에서 자동으로 관리합니다. 또한 이전 섹션에서 수행한 새로운 OpenShift 요소를 추가하여 모든 새로운 Zync 인프라를 사용할 수 있습니다.

OpenShift 경로 관리를 WildcardRouter에서 Zync로 마이그레이션하려면 OpenShift 경로 및 와일드카드 경로와 관련된 이전 3scale 테넌트 및 서비스를 제거한 다음 Zync에서 기존 서비스 및 테넌트를 강제로 다시 평가해야 합니다. 그러면 Zync가 현재 보유하고 있는 것과 동일한 경로를 만들 수 있습니다.

공용 기본 URL이 수정되면 이벤트가 system-app에서 트리거되고 system- redis에 저장된 작업 대기열을 통해 system- sidekiq 에 알립니다. 그런 다음 작업이 백그라운드에서 처리되고 데이터가 이미 존재하는지 thezync -db인지 확인하는 zync 로 전송됩니다. 변경 사항을 감지하면 처리된 in zync-que 작업을 통해 새 경로를 생성합니다.

중요

어떤 작업을 수행하기 전에 SSL 인증서를 일부 경로에 수동으로 설치한 경우 경로에 할당된 인증서를 복사하고 각 인증서에 할당된 경로를 기록해야 합니다. 인증서 기능을 유지하려면 Zync에서 생성할 새로운 동등한 경로에 설치해야 합니다.

참고
  • 서비스는 기본적으로 호스팅된 옵션으로 마이그레이션됩니다.
  • Public Base URL은 자동으로 채워지며 경로는 Zync에 의해 생성됩니다.
  • 1 단계는 self_managed 옵션을 사용하여 외부 APIcast 게이트웨이를 구성하는 경우에만 필요합니다.
  • 3scale_managed 옵션을 선택하면 Zync에서 경로가 자동으로 관리됩니다.

절차

  1. Zync가 외부 게이트웨이의 경로를 관리하지 않는다는 점을 고려할 때 제안된 대안 중 하나에 따라 Zync에서 관리하지 않는 각 서비스의 배포 옵션을 수정할 수 있습니다.

    • 3scale에서:

      1. 통합 페이지로 이동하여 통합 설정 편집을 클릭합니다.
      2. 올바른 배포 옵션을 선택하고 다음과 같은 경우 변경 사항을 저장합니다.
    • API 사용:

      1. 액세스 토큰(ACCESS_TOKEN) 및 테넌트 끝점(TENANT_URL)을 사용하여 서비스ID를 사용하여 서비스를 업데이트합니다.

        $ curl -XPUT "${TENANT_URL}/admin/api/services/${ID}.json" -d deployment_option=self_managed -d access_token="${ACCESS_TOKEN}"
        Copy to Clipboard Toggle word wrap

        또는 APIcast 호스팅을 사용하는 경우 아래 명령을 사용할 수 있습니다.

        $ curl -XPUT "${TENANT_URL}/admin/api/services/${ID}.json" -d deployment_option=hosted -d access_token="${ACCESS_TOKEN}"
        Copy to Clipboard Toggle word wrap
      2. 각 테넌트의 각 서비스에 대해 3scale 또는 API를 통해 deployment_option 필드를 수정합니다.

        • 다음은 deployment_option을 self_ managed 로 설정할 수 있는 경우입니다.

          • APIcast는 OpenShift의 사용자 정의 경로에 연결됩니다.
          • APIcast는 OpenShift 외부에서 호스팅됩니다.
          • APICAST_PATH_ROUTINGtrue 로 설정되어 있습니다.
        • 다른 경우에는 deployment_optionhosted 로 설정합니다.
  2. 기존 경로 중 일부는 2.5에서 3scale에 의해 자동으로 생성되었습니다. 먼저 삭제하십시오.

    $ oc delete route system-master
    $ oc delete route system-provider-admin
    $ oc delete route system-developer
    $ oc delete route api-apicast-production
    $ oc delete route api-apicast-staging
    Copy to Clipboard Toggle word wrap
    • WILDCARD_POLICY=Subdomain 을 사용하여 3scale 2.5를 배포한 경우 다음을 사용하여 와일드카드 경로를 제거해야 합니다.

      $ oc delete route apicast-wildcard-router
      Copy to Clipboard Toggle word wrap
    • 그렇지 않으면, WILDCARD_POLICY=Subdomain 없이 3scale 2.5를 배포한 경우 Zync가 생성할 경로를 복제하지 않도록 3scale 테넌트 및 서비스에 대해 수동으로 생성한 경로를 제거해야 합니다.

이 시점에서 서비스 및 테넌트와 관련된 모든 경로가 제거되어야 합니다. 이제 Zync에서 동등한 경로를 생성합니다.

  1. Zync를 사용하여 모든 3scale 서비스 및 테넌트 OpenShift 경로를 강제로 다시 동기화합니다.

    $ SYSTEM_SIDEKIQ_POD=$(oc get pods | grep sidekiq | awk '{print $1}')
    Copy to Clipboard Toggle word wrap
  2. SYSTEM_SIDEKIQ_POD 환경 변수 결과가 비어 있지 않은지 확인합니다.

    $ echo ${SYSTEM_SIDEKIQ_POD}
    Copy to Clipboard Toggle word wrap
  3. 마지막으로 resynchronization을 수행합니다.

    $ oc exec -it ${SYSTEM_SIDEKIQ_POD} -- bash -c 'bundle exec rake zync:resync:domains'
    Copy to Clipboard Toggle word wrap

    시스템 알림에 대한 정보와 함께 이 스타일의 출력이 표시됩니다.

    No valid API key has been set, notifications will not be sent
    ActiveMerchant MODE set to 'production'
    [Core] Using http://backend-listener:3000/internal/ as URL
    OpenIdAuthentication.store is nil. Using in-memory store.
    [EventBroker] notifying subscribers of Domains::ProviderDomainsChangedEvent 59a554f6-7b3f-4246-9c36-24da988ca800
    [EventBroker] notifying subscribers of ZyncEvent caa8e941-b734-4192-acb0-0b12cbaab9ca
    Enqueued ZyncWorker#d92db46bdba7a299f3e88f14 with args: ["caa8e941-b734-4192-acb0-0b12cbaab9ca", {:type=>"Provider", :id=>1, :parent_event_id=>"59a554f6-7b3f-4246-9c36-24da988ca800", :parent_event_type=>"Domains::ProviderDomainsChangedEvent", :tenant_id=>1}]
    [EventBroker] notifying subscribers of Domains::ProviderDomainsChangedEvent 9010a199-2af1-4023-9b8d-297bd618096f
    …
    Copy to Clipboard Toggle word wrap

    Zync가 모든 기존 테넌트 및 서비스에 대해 새 경로가 생성됩니다. 경로 생성에는 서비스 및 테넌트 수에 따라 몇 분이 걸릴 수 있습니다.

    프로세스가 끝나면 다음이 생성됩니다.

    • 마스터 관리 포털 경로 1개

      3scale 테넌트마다 두 개의 경로가 생성됩니다.

    • 테넌트의 관리 포털 경로.
    • 테넌트의 개발자 포털 경로.

      3scale 서비스마다 두 개의 경로가 생성됩니다.

    • 서비스에 해당하는 APIcast 스테이징 경로입니다.
    • 서비스에 해당하는 APIcast 프로덕션 경로입니다.
  4. 위에서 설명한 모든 예상 경로가 기존 서비스 및 테넌트에 대해 생성되었는지 확인합니다. 다음을 실행하여 모든 경로를 볼 수 있습니다.

    $ oc get routes
    Copy to Clipboard Toggle word wrap

    이전 명령의 출력으로 표시된 host/port 필드는 경로의 URL이어야 합니다.

    • WILDCARD_POLICY를 Subdomain 으로 설정하여 3scale 2.5를 배포한 경우 모든 새 경로는 이전 OpenShift 와일드카드 경로와 동일한 기본 WildcardDomain을 보유해야 합니다.
    • 그렇지 않으면 WILDCARD_POLICY=Subdomain 없이 3scale 2.5를 배포한 경우 새 경로는 2.5 릴리스에서 3scale에 의해 자동으로 생성된 항목을 포함하여 제거된 경로와 동일한 호스트를 보유해야 합니다.
  5. 마지막으로 이전 와일드카드 경로에 사용자 지정 SSL 인증서를 사용하거나 수동으로 생성한 경로를 사용하는 경우 Zync에서 생성한 새 경로에 설치합니다. OpenShift 웹 패널을 통해 경로를 편집하고 인증서/s를 추가하여 수행할 수 있습니다.
  6. 새 경로를 사용하여 이 마이그레이션 전에 존재했던 서비스 및 테넌트를 계속 확인할 수 있는지 확인합니다. 다음 테스트를 수행하려면 다음을 수행합니다.

    1. 이 마이그레이션 전에 이미 존재하는 3scale 서비스에 연결된 기존 APIcast 프로덕션 URL의 경로를 해결합니다.
    2. 이 마이그레이션 전에 이미 존재하는 3scale 서비스에 연결된 기존 APIcast 스테이징 URL의 경로를 해결합니다.
    3. 이 마이그레이션 전에 이미 존재하는 기존 테넌트의 경로를 확인합니다.
  7. 새로운 Zync 기능이 작동하는지 확인할 때 새 테넌트 및 서비스를 생성할 때 새 경로가 생성되는지 확인합니다. 다음 테스트를 수행하려면 다음을 수행합니다.

    1. '마스터' 패널에서 새 테넌트를 만들고 몇 초 후에 OpenShift에 연결된 새 경로가 표시되는지 확인합니다.
    2. 기존 테넌트 중 하나에서 새 서비스를 생성하고 몇 초 후에 OpenShift에 연결된 새 경로가 표시되는지 확인합니다.
  8. apicast-wildcard-router 서비스를 제거합니다.

    $ oc delete service apicast-wildcard-router
    Copy to Clipboard Toggle word wrap
  9. 더 이상 사용되지 않는 WildcardRouter 하위 시스템을 제거합니다.

    $ oc delete ImageStream amp-wildcard-router
    $ oc delete DeploymentConfig apicast-wildcard-router
    Copy to Clipboard Toggle word wrap

    나열된 모든 단계를 수행한 후 2.5에서 2.6으로 3scale 업그레이드가 완료되었습니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat