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


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

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

사전 요구 사항

절차

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

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

    oc create secret generic ecorp-admin-secret --from-literal=admin_password=<admin password value>
  3. 3scale 마스터 계정 호스트 이름을 가져옵니다. Operator를 사용하여 3scale을 배포할 때 마스터 계정에 고정 URL이 있습니다: master.${wildcardDomain}

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

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

    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
  5. Tenant (테넌트) 사용자 정의 리소스를 만듭니다. 예를 들어 이전 예제 CR을 mytenant.yaml 파일에 저장한 경우 다음을 실행합니다.

    oc create -f mytenant.yaml

    이 명령은 다음과 같습니다.

    • 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"
    • 새 테넌트에 연결되는 제품,백엔드,OpenAPI,DeveloperAccountDeveloperUser CR을 배포할 수 있습니다.

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

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

oc delete -f mytenant.yaml

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

oc delete tenant.capabilities.3scale.net mytenant -n mynamespace

테넌트를 삭제하면 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은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.