2.2. 인증된 레지스트리에 대한 지원 구성


3scale 2.6 릴리스의 일부로 컨테이너 이미지가 registry.access.redhat.com에서 registry.redhat. io에 있는 인증된 레지스트리 로 마이그레이션되었습니다. 다음 단계에 따라 인증된 새 레지스트리를 지원하도록 기존 3scale 인프라를 준비합니다.

  1. registry .redhat.io에 있는 새로운 Red Hat 인증 레지스트리에 인증 정보를 생성합니다.

    • 레지스트리 서비스 계정이라고도 하는 레지스트리 토큰을 생성합니다. 이 레지스트리 토큰은 3scale 플랫폼에서 registry.redhat.io 에 대해 인증하기 위한 것입니다.
    • 인증 정보를 생성하는 방법에 대한 자세한 내용은 Red Hat Container Registry Authentication 을 참조하십시오.
  2. 레지스트리 서비스 계정을 사용할 수 있게 되면 3scale 인프라가 배포된 OpenShift 프로젝트에서 인증 정보가 포함된 새 보안을 생성합니다.

    1. Red Hat 서비스 계정 패널로 이동하여 OpenShift 시크릿 정의를 가져옵니다.
    2. 3scale 인프라에 사용할 레지스트리 서비스 계정을 선택합니다.
    3. OpenShift Secret 탭을 선택하고 다운로드 시크릿 링크를 클릭합니다.
  3. Red Hat 서비스 계정 패널에서 OpenShift 시크릿을 다운로드한 후 YAML 파일의 metadata 섹션에 있는 name 필드를 수정하고 기존 이름을 3scale-registry-auth 이름으로 교체합니다.

    보안은 다음과 유사합니다.

    apiVersion: v1
    kind: Secret
    metadata:
      name: threescale-registry-auth
    data:
      .dockerconfigjson: a-base64-encoded-string-containing-auth-credentials
    type: kubernetes.io/dockerconfigjson
    Copy to Clipboard Toggle word wrap
  4. 변경 사항을 저장하고 3scale 2.5가 현재 배포된 OpenShift 프로젝트에 시크릿을 생성합니다.

    $ oc create -f the-secret-name.yml
    Copy to Clipboard Toggle word wrap
  5. 시크릿을 생성한 후 존재를 확인할 수 있습니다. 다음 명령은 콘텐츠가 포함된 보안을 반환합니다.

    $ oc get secret threescale-registry-auth
    Copy to Clipboard Toggle word wrap
  6. 3scale-registry-auth 시크릿을 사용할 amp 서비스 계정을 생성합니다. 이를 위해 다음 콘텐츠를 사용하여 file amp-sa.yml 을 생성합니다.

    apiVersion: v1
    kind: ServiceAccount
    imagePullSecrets:
    - name: threescale-registry-auth
    metadata:
      name: amp
    Copy to Clipboard Toggle word wrap
  7. amp 서비스 계정을 배포합니다.

    $ oc create -f amp-sa.yml
    Copy to Clipboard Toggle word wrap
  8. amp 서비스 계정이 올바르게 생성되었는지 확인합니다. 다음 명령은 콘텐츠가 포함된 생성된 서비스 계정을 반환하고 imagePullSecrets 섹션의 요소 중 하나로 threescale-registry-auth 를 사용합니다.

    $ oc get sa amp -o yaml
    Copy to Clipboard Toggle word wrap
  9. 기존 3scale 프로젝트의 default 서비스 계정에 적용된 권한이 new amp 서비스 계정에 복제되었는지 확인합니다.

    • Service Discovery를 서비스 계정 인증 모드로 구성한 경우 OAuth 서버 없이 구성에서 사용 가능한 지침에 따라 cluster-role 뷰 권한을 system:serviceaccount:<3scale-project>:default 사용자에게 부여한 다음, 이제 system:serviceaccount:<3scale-project>:amp 에 동일한 권한을 적용해야 합니다.

      $ oc adm policy add-cluster-role-to-user view system:serviceaccount:<3scale-project>:amp
      Copy to Clipboard Toggle word wrap
  10. new amp 서비스 계정을 사용하도록 기존 DeploymentConfigs를 모두 업데이트합니다.

    $ THREESCALE_DC_NAMES="apicast-production apicast-staging apicast-wildcard-router backend-cron backend-listener backend-redis backend-worker system-app system-memcache system-mysql system-redis system-sidekiq system-sphinx zync zync-database"
    for component in ${THREESCALE_DC_NAMES}; do oc patch dc $component --patch '{"spec":{"template": {"spec": {"serviceAccountName": "amp"}}}}' ; done
    Copy to Clipboard Toggle word wrap

    명령 출력에는 다음 행이 포함됩니다.

    deploymentconfig.apps.openshift.io/apicast-production patched
    deploymentconfig.apps.openshift.io/apicast-staging patched
    deploymentconfig.apps.openshift.io/apicast-wildcard-router patched
    deploymentconfig.apps.openshift.io/backend-cron patched
    deploymentconfig.apps.openshift.io/backend-listener patched
    deploymentconfig.apps.openshift.io/backend-redis patched
    deploymentconfig.apps.openshift.io/backend-worker patched
    deploymentconfig.apps.openshift.io/system-app patched
    deploymentconfig.apps.openshift.io/system-memcache patched
    deploymentconfig.apps.openshift.io/system-mysql patched
    deploymentconfig.apps.openshift.io/system-redis patched
    deploymentconfig.apps.openshift.io/system-sidekiq patched
    deploymentconfig.apps.openshift.io/system-sphinx patched
    deploymentconfig.apps.openshift.io/zync patched
    deploymentconfig.apps.openshift.io/zync-database patched
    Copy to Clipboard Toggle word wrap

    이전 명령은 재부팅을 트리거하는 모든 3scale 기존 DeploymentConfigs도 재배포합니다.

  11. DeploymentConfig가 재부팅되는 동안 상태의 변경 사항을 확인할 수 있습니다. 모든 DeploymentConfigs가 준비될 때까지 기다립니다.

    • 다음 명령을 입력하여 DeploymentConfig의 상태를 확인하고, 각 DeploymentConfig의 DesiredCurrent 열에 동일한 값이 있고 0과 다른지 확인할 수 있습니다.

      $ oc get dc
      Copy to Clipboard Toggle word wrap
  12. 또한 모든 Pod가 Running 상태에 있고 모두 Ready 상태인지 확인합니다.

    $ oc get pods
    Copy to Clipboard Toggle word wrap
  13. 모든 DeploymentConfigs에 the amp 서비스 계정이 다음 명령으로 설정되어 있는지 확인합니다.

    $ for component in ${THREESCALE_DC_NAMES}; do oc get dc $component -o yaml | grep -i serviceAccountName; done
    Copy to Clipboard Toggle word wrap
  14. 이전 명령의 결과로 다음 줄은 이전에 설정된 THREESCALE_DC_NAMES 환경 변수에 정의된 요소 수만큼 여러 번 반복됩니다.

    serviceAccountName: amp
    Copy to Clipboard Toggle word wrap
  15. 이 시점에서 DeploymentConfigurations는 Red Hat 인증된 레지스트리 이미지를 사용할 준비가 되어 있습니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat