2.2. 인증된 레지스트리에 대한 지원 구성
3scale 2.6 릴리스의 일부로 컨테이너 이미지가 registry.access.redhat.com에서 registry.redhat.
io에 있는 인증된 레지스트리
로 마이그레이션되었습니다. 다음 단계에 따라 인증된 새 레지스트리를 지원하도록 기존 3scale 인프라를 준비합니다.
registry
.redhat.io에 있는 새로운 Red Hat 인증 레지스트리에
인증 정보를 생성합니다.-
레지스트리 서비스 계정이라고도 하는 레지스트리 토큰을 생성합니다. 이 레지스트리 토큰은 3scale 플랫폼에서
registry.redhat.io
에 대해 인증하기 위한 것입니다. - 인증 정보를 생성하는 방법에 대한 자세한 내용은 Red Hat Container Registry Authentication 을 참조하십시오.
-
레지스트리 서비스 계정이라고도 하는 레지스트리 토큰을 생성합니다. 이 레지스트리 토큰은 3scale 플랫폼에서
레지스트리 서비스 계정을 사용할 수 있게 되면 3scale 인프라가 배포된 OpenShift 프로젝트에서 인증 정보가 포함된 새 보안을 생성합니다.
- Red Hat 서비스 계정 패널로 이동하여 OpenShift 시크릿 정의를 가져옵니다.
- 3scale 인프라에 사용할 레지스트리 서비스 계정을 선택합니다.
- OpenShift Secret 탭을 선택하고 다운로드 시크릿 링크를 클릭합니다.
Red Hat 서비스 계정 패널에서 OpenShift 시크릿을 다운로드한 후 YAML 파일의 metadata 섹션에 있는 name 필드를 수정하고 기존 이름을
3scale-registry-auth
이름으로 교체합니다.보안은 다음과 유사합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 사항을 저장하고 3scale 2.5가 현재 배포된 OpenShift 프로젝트에 시크릿을 생성합니다.
oc create -f the-secret-name.yml
$ oc create -f the-secret-name.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 시크릿을 생성한 후 존재를 확인할 수 있습니다. 다음 명령은 콘텐츠가 포함된 보안을 반환합니다.
oc get secret threescale-registry-auth
$ oc get secret threescale-registry-auth
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 3scale-registry-auth
시크릿을 사용할amp
서비스 계정을 생성합니다. 이를 위해 다음 콘텐츠를 사용하여 fileamp-sa.yml
을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow amp
서비스 계정을 배포합니다.oc create -f amp-sa.yml
$ oc create -f amp-sa.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow amp
서비스 계정이 올바르게 생성되었는지 확인합니다. 다음 명령은 콘텐츠가 포함된 생성된 서비스 계정을 반환하고 imagePullSecrets 섹션의 요소 중 하나로threescale-registry-auth
를 사용합니다.oc get sa amp -o yaml
$ oc get sa amp -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기존 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
$ oc adm policy add-cluster-role-to-user view system:serviceaccount:<3scale-project>:amp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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"
$ 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 Copied! Toggle word wrap Toggle overflow 명령 출력에는 다음 행이 포함됩니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 명령은 재부팅을 트리거하는 모든 3scale 기존 DeploymentConfigs도 재배포합니다.
DeploymentConfig가 재부팅되는 동안 상태의 변경 사항을 확인할 수 있습니다. 모든 DeploymentConfigs가 준비될 때까지 기다립니다.
다음 명령을 입력하여 DeploymentConfig의 상태를 확인하고, 각 DeploymentConfig의 Desired 및 Current 열에 동일한 값이 있고 0과 다른지 확인할 수 있습니다.
oc get dc
$ oc get dc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
또한 모든 Pod가 Running 상태에 있고 모두 Ready 상태인지 확인합니다.
oc get pods
$ oc get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 DeploymentConfigs에 the
amp
서비스 계정이 다음 명령으로 설정되어 있는지 확인합니다.for component in ${THREESCALE_DC_NAMES}; do oc get dc $component -o yaml | grep -i serviceAccountName; done
$ for component in ${THREESCALE_DC_NAMES}; do oc get dc $component -o yaml | grep -i serviceAccountName; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 명령의 결과로 다음 줄은 이전에 설정된 THREESCALE_DC_NAMES 환경 변수에 정의된 요소 수만큼 여러 번 반복됩니다.
serviceAccountName: amp
serviceAccountName: amp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 이 시점에서 DeploymentConfigurations는 Red Hat 인증된 레지스트리 이미지를 사용할 준비가 되어 있습니다.