8.11. 테넌트 사용자 정의 리소스 배포


테넌트 사용자 지정 리소스는 공급자 계정 이라고도 합니다.

APIManager CR(사용자 정의 리소스)을 배포할 때 3scale Operator를 사용하여 3scale을 배포합니다. 기본 3scale 설치에는 사용할 준비가 된 기본 테넌트가 포함되어 있습니다. 선택적으로 테넌트 사용자 지정 리소스를 배포하여 다른 테넌트를 만들 수 있습니다.

사전 요구 사항

절차

  1. 3scale이 설치된 OpenShift 프로젝트로 이동합니다. 예를 들어 프로젝트 이름이 my-3scale-project 인 경우 다음 명령을 실행합니다.

    oc project my-3scale-project
    Copy to Clipboard Toggle word wrap
  2. 새 테넌트의 3scale admin 계정의 암호가 포함된 시크릿을 생성합니다. Tenant CR 정의에서 passwordCredentialsRef 속성을 이 시크릿 이름으로 설정합니다. 4단계에서 테넌트 CR 정의의 예에서 ADMIN_SECRET 은 이 시크릿의 자리 표시자입니다. 다음 명령은 시크릿 생성 예를 제공합니다.

    oc create secret generic ecorp-admin-secret --from-literal=admin_password=<admin password value>
    Copy to Clipboard Toggle word wrap
  3. 3scale 마스터 계정 호스트 이름을 가져옵니다. Operator를 사용하여 3scale을 배포할 때 마스터 계정에는 master.${ldcardDomain}이 패턴과 함께 고정된 URL이 있습니다.

    3scale이 설치된 네임스페이스에 액세스할 수 있는 경우 다음 명령을 사용하여 마스터 계정 호스트 이름을 가져올 수 있습니다.

    oc get routes --field-selector=spec.to.name==system-master -o jsonpath="{.items[].spec.host}"
    Copy to Clipboard Toggle word wrap

    4단계에서 테넌트 CR 정의의 예에서 MASTER_HOSTNAME 은 이 이름의 자리 표시자입니다.

  4. 테넌트 사용자 지정 리소스를 정의하는 파일을 만듭니다.

    Tenant CR의 정의에서 masterCredentialsRef.name 속성을 system-seed 로 설정합니다. 3scale 마스터 계정 인증 정보를 사용하는 경우에만 테넌트 관리 작업을 수행할 수 있으며, 액세스 토큰을 사용할 수 있습니다. APIManager CR을 배포하는 동안 Operator는 마스터 계정 자격 증명이 포함된 시크릿을 생성합니다. 시크릿 이름은 system-seed 입니다.

    3scale이 클러스터 전체 모드에 설치된 경우 3scale이 포함된 네임스페이스와 다른 네임스페이스에 새 테넌트를 배포할 수 있습니다. 이렇게 하려면 masterCredentialsRef.namespace 를 3scale 설치가 포함된 네임스페이스로 설정합니다.

    다음 예에서는 3scale이 클러스터 전체 모드로 설치되어 있다고 가정합니다.

    apiVersion: capabilities.3scale.net/v1alpha1
    kind: Tenant
    metadata:
      name: ecorp-tenant
      namespace: <namespace-in-which-to-create-Tenant-CR>
    spec:
      username: admin
      systemMasterUrl: https://<MASTER_HOSTNAME>
      email: admin@ecorp.com
      organizationName: ECorp
      masterCredentialsRef:
        name: system-seed
        namespace: <namespace-where-3scale-is-deployed>
      passwordCredentialsRef:
        name: <ADMIN_SECRET>
      tenantSecretRef:
        name: tenant-secret
    Copy to Clipboard Toggle word wrap
  5. 테넌트 사용자 지정 리소스를 만듭니다. 예를 들어 이전 예제 CR을 mytenant.yaml 파일에 저장한 경우 다음을 실행합니다.

    oc create -f mytenant.yaml
    Copy to Clipboard Toggle word wrap

    이 명령의 결과:

    • Operator는 spec.systemMasterUrl 속성 설정에 따라 가리키는 3scale 설치에 테넌트를 배포합니다.
    • 3scale Operator는 새 테넌트의 인증 정보가 포함된 시크릿을 생성합니다. 보안 이름은 tenantSecretRef.name 특성에 지정된 값입니다. 이 시크릿에는 새 테넌트의 관리 URL 및 액세스 토큰이 포함되어 있습니다.

      다음은 Operator가 생성하는 보안의 예입니다.

      apiVersion: v1
      kind: Secret
      metadata:
        name: tenant-secret
      type: Opaque
      stringData:
        adminURL: https://my3scale-admin.example.com:443
        token: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
      Copy to Clipboard Toggle word wrap
    • 이제 새 테넌트에 연결된 Product,Backend,OpenAPI,DeveloperAccount, DeveloperUser CR을 배포할 수 있습니다.

테넌트 사용자 정의 리소스 삭제

배포된 테넌트 사용자 정의 리소스를 삭제하려면 리소스 정의가 포함된 파일의 이름을 지정할 수 있습니다. 예를 들면 다음과 같습니다.

oc delete -f mytenant.yaml
Copy to Clipboard Toggle word wrap

또는 oc delete 명령을 실행하고 Tenant CR에 이름을 지정하고 테넌트의 네임스페이스도 지정할 수 있습니다. 예를 들면 다음과 같습니다.

oc delete tenant.capabilities.3scale.net mytenant -n mynamespace
Copy to Clipboard Toggle word wrap

테넌트를 삭제할 때 3scale Operator는 다음을 수행합니다.

  • 3scale 설치에서 테넌트를 숨깁니다.
  • 테넌트가 보유한 배포된 사용자 지정 리소스를 삭제합니다.
  • 15일 후에 테넌트를 삭제하도록 표시합니다.

테넌트를 삭제한 후에는 복구할 수 없습니다. 테넌트가 소유하고 관리 포털에서 이 작업을 수행할 수 있는 리소스를 15일 동안 백업할 수 있습니다. 15일 후 3scale은 테넌트를 삭제합니다. 데이터 보호 법률 준수를 위해 일부 데이터는 향후 참조를 위해 보관됩니다.

중요

테넌트 CR을 사용하여 해당 테넌트를 배포한 경우 관리자 포털에서 테넌트를 삭제하지 마십시오. 이 경우 Operator는 삭제하려는 테넌트에 CR을 사용하여 다른 테넌트를 생성합니다.

추가 리소스

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat