2.4. 컨테이너 레지스트리 인증 구성
3scale 관리자는 OpenShift에 3scale 컨테이너 이미지를 배포하기 전에 registry.redhat.io를 사용하여 인증을 구성합니다.
사전 요구 사항
- OpenShift Container Platform 클러스터에 대한 클러스터 관리자 액세스
-
OpenShift
oc클라이언트 툴이 설치되어 있습니다. 자세한 내용은 OpenShift CLI 설명서를 참조하십시오.
절차
관리자로 OpenShift 클러스터에 로그인합니다.
oc login -u system:admin
$ oc login -u system:adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 3scale을 배포하려는 프로젝트를 엽니다.
oc project your-openshift-project
oc project your-openshift-projectCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Customer Portal 계정을 사용하여
docker-registry시크릿을 생성하고3scale-registry-auth를 시크릿으로 교체하여 다음을 생성할 수 있습니다.oc create secret docker-registry threescale-registry-auth \ --docker-server=registry.redhat.io \ --docker-username=CUSTOMER_PORTAL_USERNAME \ --docker-password=CUSTOMER_PORTAL_PASSWORD \ --docker-email=EMAIL_ADDRESS
$ oc create secret docker-registry threescale-registry-auth \ --docker-server=registry.redhat.io \ --docker-username=CUSTOMER_PORTAL_USERNAME \ --docker-password=CUSTOMER_PORTAL_PASSWORD \ --docker-email=EMAIL_ADDRESSCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 출력이 표시됩니다.
secret/threescale-registry-auth created
secret/threescale-registry-auth createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이미지를 가져오는 데 시크릿을 사용하도록 서비스 계정에 시크릿을 연결합니다. 서비스 계정 이름은 OpenShift pod에서 사용하는 이름과 일치해야 합니다. 이 예에서는
default서비스 계정을 사용합니다.oc secrets link default threescale-registry-auth --for=pull
$ oc secrets link default threescale-registry-auth --for=pullCopy to Clipboard Copied! Toggle word wrap Toggle overflow 빌드 이미지를 푸시하고 가져오는 데 보안을 사용하도록
builder서비스 계정에 보안을 연결합니다.oc secrets link builder threescale-registry-auth
$ oc secrets link builder threescale-registry-authCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4.1. 레지스트리 서비스 계정 생성 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift에 3scale 2.11이 배포된 공유 환경에서 registry.redhat.io 의 컨테이너 이미지를 사용하려면 개별 사용자의 고객 포털 인증 정보 대신 레지스트리 서비스 계정을 사용해야 합니다.
두 옵션 모두 템플릿 또는 운영자를 통해 OpenShift에 배포하기 전에 아래 설명된 단계를 수행하는 3scale 2.8 이상에서 레지스트리 인증을 사용해야 합니다.
절차
- 레지스트리 서비스 계정 페이지로 이동하여 로그인합니다.
새 서비스 계정을 클릭합니다. 새 레지스트리 서비스 계정 생성 페이지의 양식을 작성합니다.
서비스 계정의 이름을 추가합니다.
참고: 양식 필드 앞에 무작위로 생성된 숫자 문자열이 고정 길이로 표시됩니다.
- 설명을 입력합니다.
- 생성을 클릭합니다.
- 서비스 계정으로 다시 이동합니다.
- 생성한 서비스 계정을 클릭합니다.
접두사 문자열(예: 12345678|username) 및 암호를 포함하여 사용자 이름을 기록해 둡니다.
이 사용자 이름과 암호는
registry.redhat.io에 로그인하는 데 사용됩니다.참고인증 토큰 사용 방법을 보여주는 토큰 정보 페이지에는 사용 가능한 탭이 있습니다. 예를 들어 토큰 정보 탭에는 12345678|username 형식의 사용자 이름과 그 아래의 암호 문자열이 표시되어 있습니다.
2.4.2. 레지스트리 서비스 계정 수정 링크 복사링크가 클립보드에 복사되었습니다!
서비스 계정을 수정하거나 삭제할 수 있습니다. 이 작업은 표의 각 인증 토큰 오른쪽에 팝업 메뉴를 사용하여 레지스트리 서비스 계정 페이지에서 수행할 수 있습니다.
서비스 계정을 다시 생성 또는 제거해도 registry.redhat.io에서 콘텐츠를 인증하고 검색하는 데 토큰을 사용하는 시스템에 영향을 미칩니다.
각 기능에 대한 설명은 다음과 같습니다.
토큰 다시 생성: 권한 있는 사용자가 서비스 계정과 연결된 암호를 재설정할 수 있도록 허용합니다.
참고: 서비스 계정의 사용자 이름은 변경할 수 없습니다.
- 설명 업데이트: 권한 있는 사용자가 서비스 계정에 대한 설명을 업데이트할 수 있도록 허용합니다.
- 계정 삭제: 권한이 있는 사용자가 서비스 계정을 제거할 수 있도록 허용합니다.
2.4.3. 3scale 템플릿 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
와일드카드 경로가 3scale 2.6에서 제거되었습니다.
- 이 기능은 백그라운드에서 Zync에 의해 처리됩니다.
- API 공급자가 생성, 업데이트 또는 삭제되면 경로에 해당 변경 사항이 자동으로 반영됩니다.
3scale 템플릿을 OpenShift 클러스터로 가져오려면 다음 단계를 수행합니다.
절차
터미널 세션에서 클러스터 관리자로 OpenShift에 로그인합니다.
oc login
oc loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow 프로젝트를 선택하거나 새 프로젝트를 생성합니다.
oc project <project_name>
oc project <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc new-project <project_name>
oc new-project <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc new-app명령을 입력합니다.-
다운로드한 amp.yml 파일의 경로를 사용하여 노드 및 인타이틀먼트 구성의 일부로
--file옵션을 지정합니다. OpenShift 클러스터 도메인으로 설정된
WILDCARD_DOMAIN매개변수를 사용하여--param옵션을 지정합니다.oc new-app --file /opt/amp/templates/amp.yml --param WILDCARD_DOMAIN=<WILDCARD_DOMAIN>
oc new-app --file /opt/amp/templates/amp.yml --param WILDCARD_DOMAIN=<WILDCARD_DOMAIN>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 터미널에는 새로 생성된 3scale 관리 포털의 마스터 및 테넌트 URL과 인증 정보가 표시됩니다. 이 출력에는 다음 정보가 포함되어야 합니다.
- 마스터 관리자 사용자 이름
- 마스터 암호
- 마스터 토큰 정보
- 테넌트 사용자 이름
- 테넌트 암호
- 테넌트 토큰 정보
-
다운로드한 amp.yml 파일의 경로를 사용하여 노드 및 인타이틀먼트 구성의 일부로
https://user-admin.3scale-project.example.com에 admin/xXXyz123으로 로그인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 나중에 참조할 수 있도록 이러한 세부 사항을 기록해 두십시오.
다음 명령이 반환되면 OpenShift에서 3scale 배포가 성공적으로 배포된 것입니다.
oc wait --for=condition=available --timeout=-1s $(oc get dc --output=name)
oc wait --for=condition=available --timeout=-1s $(oc get dc --output=name)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고OpenShift의 3scale 배포가 성공하면 로그인 인증 정보가 작동합니다.
2.4.4. 관리자 포털 URL 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
템플릿을 사용하여 3scale을 배포할 때 고정 URL을 사용하여 기본 테넌트가 생성됩니다. 3scale-admin.${wildcardDomain}
3scale 대시보드는 테넌트의 새 포털 URL을 보여줍니다. 예를 들어 <wildCardDomain>이 3scale-project.example.com인 경우 관리자 포털 URL은 https://3scale-admin.3scale-project.example.com입니다.
wildcardDomain은 설치 중에 제공한 <wildCardDomain> 매개변수입니다. 다음 명령을 사용하여 브라우저에서 이 고유한 URL을 엽니다.
xdg-open https://3scale-admin.3scale-project.example.com
xdg-open https://3scale-admin.3scale-project.example.com
필요한 경우 선택 사항으로 MASTER portal URL: master.${wildcardDomain}에서 새 테넌트를 만들 수 있습니다.
2.4.5. Amazon Simple Storage Service로 3scale 배포 링크 복사링크가 클립보드에 복사되었습니다!
Amazon Simple Storage Service(Amazon S3)를 사용하여 3scale을 배포하는 절차는 선택 사항입니다. 다음 단계를 사용하여 Amazon S3로 3scale을 배포합니다.
절차
- amp;s3.yml을 다운로드합니다.
터미널 세션에서 OpenShift에 로그인합니다.
oc login
oc loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow 프로젝트를 선택하거나 새 프로젝트를 생성합니다.
oc project <project_name>
oc project <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 또는
oc new-project <project_name>
oc new-project <project_name>
oc new-app 명령을 입력합니다.
-
amp-s3.yml 파일의 경로로
--file옵션을 지정합니다. 다음 값을 사용하여
--param옵션을 지정합니다.-
WILDCARD_DOMAIN: OpenShift 클러스터의 도메인으로 설정된 매개변수입니다. -
AWS_BUCKET: 대상 버킷 이름 -
AWS_ACCESS_KEY_ID: AWS 인증 정보 ID 사용 -
AWS_SECRET_ACCESS_KEY: AWS 인증 정보 KEY 사용 -
AWS_REGION: AWS: 버킷 리전 사용 -
AWS_HOSTNAME: 기본값: Amazon 끝점 - AWS S3 호환 공급자 끝점 호스트 이름. -
AWS_PROTOCOL: 기본값: HTTPS - AWS S3 호환 공급자 끝점 프로토콜. -
AWS_PATH_STYLE: 기본값:false-true로 설정하면 버킷 이름이 요청 URI에 항상 남아 있으며 호스트로 하위 도메인으로 이동하지 않습니다.
-
필요한 경우
TENANT_NAME매개 변수로--param옵션을 지정하여 Admin Portal의 사용자 지정 이름을 설정합니다. 생략하면 기본값은 3scale입니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 터미널에는 마스터 및 테넌트 URL과 새로 생성된 3scale 관리 포털의 인증 정보가 표시됩니다. 이 출력에는 다음 정보가 포함되어야 합니다.
- 마스터 관리자 사용자 이름
- 마스터 암호
- 마스터 토큰 정보
- 테넌트 사용자 이름
- 테넌트 암호
- 테넌트 토큰 정보
-
amp-s3.yml 파일의 경로로
https://user-admin.3scale-project.example.com에 admin/xXXyz123으로 로그인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 나중에 참조할 수 있도록 이러한 세부 사항을 기록해 두십시오.
다음 명령이 반환되면 OpenShift에서 3scale 배포가 성공적으로 배포된 것입니다.
oc wait --for=condition=available --timeout=-1s $(oc get dc --output=name)
oc wait --for=condition=available --timeout=-1s $(oc get dc --output=name)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고OpenShift의 3scale 배포가 성공하면 로그인 인증 정보가 작동합니다.
2.4.6. PostgreSQL을 사용하여 3scale 배포 링크 복사링크가 클립보드에 복사되었습니다!
PostgreSQL을 사용하여 3scale을 배포하는 절차는 선택 사항입니다. 다음 단계를 사용하여 PostgreSQL으로 3scale을 배포합니다.
절차
- amp-postgresql.yml 을 다운로드합니다.
터미널 세션에서 OpenShift에 로그인합니다.
oc login
oc loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow 프로젝트를 선택하거나 새 프로젝트를 생성합니다.
oc project <project_name>
oc project <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 또는
oc new-project <project_name>
oc new-project <project_name>
oc new-app 명령을 입력합니다.
-
amp-postgresql.yml 파일의 경로를 사용하여
--file옵션을 지정합니다. -
다음 값을 사용하여
--param옵션을 지정합니다. -
WILDCARD_DOMAIN: OpenShift 클러스터의 도메인으로 설정된 매개변수입니다. 필요한 경우
TENANT_NAME매개 변수로--param옵션을 지정하여 Admin Portal의 사용자 지정 이름을 설정합니다. 생략하면 기본값은 3scale입니다.oc new-app --file /path/to/amp-postgresql.yml \ --param WILDCARD_DOMAIN=<a-domain-that-resolves-to-your-ocp-cluster.com> \ --param TENANT_NAME=3scale \
oc new-app --file /path/to/amp-postgresql.yml \ --param WILDCARD_DOMAIN=<a-domain-that-resolves-to-your-ocp-cluster.com> \ --param TENANT_NAME=3scale \Copy to Clipboard Copied! Toggle word wrap Toggle overflow 터미널에는 마스터 및 테넌트 URL과 새로 생성된 3scale 관리 포털의 인증 정보가 표시됩니다. 이 출력에는 다음 정보가 포함되어야 합니다.
- 마스터 관리자 사용자 이름
- 마스터 암호
- 마스터 토큰 정보
- 테넌트 사용자 이름
- 테넌트 암호
- 테넌트 토큰 정보
-
amp-postgresql.yml 파일의 경로를 사용하여
https://user-admin.3scale-project.example.com에 admin/xXXyz123으로 로그인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 나중에 참조할 수 있도록 이러한 세부 사항을 기록해 두십시오.
다음 명령이 반환되면 OpenShift에서 3scale 배포가 성공적으로 배포된 것입니다.
oc wait --for=condition=available --timeout=-1s $(oc get dc --output=name)
oc wait --for=condition=available --timeout=-1s $(oc get dc --output=name)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고OpenShift의 3scale 배포가 성공하면 로그인 및 인증 정보가 작동합니다.
2.4.7. SMTP 변수 구성 (선택 사항) 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift는 이메일을 사용하여 알림을 보내고 새 사용자를 초대합니다. 이러한 기능을 사용하려면 자체 SMTP 서버를 제공하고 system-smtp 시크릿에서 SMTP 변수를 구성해야 합니다.
다음 단계를 수행하여 system-smtp 시크릿에서 SMTP 변수를 구성합니다.
절차
아직 로그인하지 않은 경우 OpenShift에 로그인합니다.
oc login
oc loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch명령을 사용하여secret유형을 지정합니다. 여기서system-smtp는 보안의 이름, 그 뒤에-p옵션을 사용한 후 다음 변수에 대해 JSON에 새 값을 작성합니다.Expand 변수 설명 주소
원격 메일 서버를 릴레이로 지정할 수 있습니다.
사용자 이름
메일 서버 사용자 이름 지정
암호
메일 서버 암호 지정
domain
HELO 도메인 지정
port
메일 서버가 새 연결을 수신 대기하는 포트를 지정합니다.
인증
메일 서버의 인증 유형을 지정합니다. 허용되는 값:
plain(암호를 일반 상태로 전송),login(Base64로 인코딩된 암호 전송) 또는cram_md5(정보 교환 및 중요한 정보를 해시하는 암호화 Message Digest 5 알고리즘)openssl.verify.mode
TLS를 사용할 때 OpenSSL이 인증서를 확인하는 방법을 지정합니다. 허용되는 값:
none또는peer.예제
oc patch secret system-smtp -p '{"stringData":{"address":"<your_address>"}}' oc patch secret system-smtp -p '{"stringData":{"username":"<your_username>"}}' oc patch secret system-smtp -p '{"stringData":{"password":"<your_password>"}}'oc patch secret system-smtp -p '{"stringData":{"address":"<your_address>"}}' oc patch secret system-smtp -p '{"stringData":{"username":"<your_username>"}}' oc patch secret system-smtp -p '{"stringData":{"password":"<your_password>"}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
보안 변수를 설정한 후
system-app및system-sidekiqPod를 재배포합니다.oc rollout latest dc/system-app oc rollout latest dc/system-sidekiq
oc rollout latest dc/system-app oc rollout latest dc/system-sidekiqCopy to Clipboard Copied! Toggle word wrap Toggle overflow 롤아웃 상태를 확인하여 완료되었는지 확인합니다.
oc rollout status dc/system-app oc rollout status dc/system-sidekiq
oc rollout status dc/system-app oc rollout status dc/system-sidekiqCopy to Clipboard Copied! Toggle word wrap Toggle overflow