8.2. Service Discovery를 활성화하도록 OpenShift 구성

3scale 관리자는 OCI(Open Authorization) 서버를 사용하거나 사용하지 않고 Service Discovery를 구성할 수 있습니다.

OAuth 서버를 사용하여 3scale Service Discovery를 구성하는 경우 사용자가 3scale에 로그인할 때 발생합니다.

  • 사용자가 OAuth 서버로 리디렉션됩니다.
  • 사용자가 OAuth 서버에 아직 로그인하지 않은 경우 사용자에게 로그인하라는 메시지가 표시됩니다.
  • 사용자가 SSO로 3scale Service Discovery를 처음 구현하는 경우 OAuth 서버는 관련 작업을 수행할 수 있는 권한을 입력하라는 메시지를 표시합니다.
  • 사용자가 3scale로 다시 리디렉션됩니다.

OAuth 서버를 사용하여 서비스 검색을 구성하려면 다음 옵션이 있습니다.

OAuth 서버 없이 Service Discovery를 구성하면 사용자가 3scale로 로그인하면 해당 사용자가 리디렉션되지 않습니다. 대신 3scale Single Service Account는 서비스 검색을 위해 클러스터에 원활한 인증을 제공합니다. 모든 3scale 테넌트 관리 사용자는 3scale을 통해 API 서비스를 검색하는 동안 클러스터에 대해 동일한 액세스 수준을 갖습니다.

8.2.1. OpenShift OAuth 서버를 사용하여 서비스 검색 구성

3scale 시스템 관리자는 OpenShift 기본 제공 OAuth 서버를 사용하여 사용자가 개별적으로 인증하고 3scale이 API를 검색하도록 허용할 수 있습니다.

사전 요구 사항

  • 3scale 2.9를 OpenShift 클러스터(버전 3.11 이상)에 배포해야 합니다.
  • 3scale을 OpenShift에 배포하려면 3scale-amp-openshift-templates 을 사용해야 합니다.
  • 3scale에서 Service Discovery를 사용하려는 3scale 사용자는 OpenShift 클러스터에 액세스할 수 있어야 합니다.

절차

  1. 3scale에 대한 OpenShift OAuth 클라이언트를 생성합니다. 자세한 내용은 OpenShift 인증 설명서를 참조하십시오. 다음 예에서 < provide-a-client-secret >을 생성한 시크릿으로 교체하고 < 3scale-master-domain-route >를 URL로 교체하여 3scale 마스터 관리자 포털에 액세스합니다.

        $ oc project default
        $ cat <<-EOF | oc create -f -
        kind: OAuthClient
        apiVersion: v1
        metadata:
         name: 3scale
        secret: "<provide-a-client-secret>"
        redirectURIs:
         - "<3scale-master-domain-route>"
        grantMethod: prompt
        EOF
  2. 3scale Service Discovery 설정 파일을 엽니다.

        $ oc project <3scale-project>
        $ oc edit configmap system
  3. 다음 설정을 구성합니다.

        service_discovery.yml:
          production:
            enabled: true
            authentication_method: oauth
            oauth_server_type: builtin
            client_id: '3scale'
            client_secret: '<choose-a-client-secret>'
  4. 검색 가능한 서비스가 포함된 클러스터 프로젝트를 볼 수 있는 적절한 권한이 사용자에게 있는지 확인합니다.

    <user>로 표시되는 관리자를 제공하려면 검색할 서비스가 포함된 < namespace > 프로젝트에 대한 보기 권한을 사용하려면 다음 명령을 사용합니다.

    oc adm policy add-role-to-user view <user> -n <namespace>
  5. configmap 을 수정한 후에는 system-appsystem-sidekiq Pod를 재배포하여 변경 사항을 적용해야 합니다.

    oc rollout latest dc/system-app
    oc rollout latest dc/system-sidekiq
  6. 롤아웃 상태를 확인하여 완료되었는지 확인합니다.

    oc rollout status dc/system-app
    oc rollout status dc/system-sidekiq

추가 참고

OpenShift OAuth 토큰에 대한 자세한 내용은 내부 OAuth 서버 구성을 참조하십시오.