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

테넌트 사용자 지정 리소스를 Provider Account (프로바이더 계정)라고 합니다.

APIManager 사용자 지정 리소스를 생성하면 3scale을 배포할 운영자가 표시됩니다. 기본 3scale 설치에는 사용할 준비가 된 기본 테넌트가 포함되어 있습니다. 선택적으로 테넌트 사용자 지정 리소스 오브젝트를 생성하는 다른 테넌트를 생성할 수 있습니다.

사전 요구 사항

3scale 인스턴스에 새 테넌트를 배포하려면 준비 단계를 수행해야 합니다.

  1. 3scale 마스터 인증 정보 시크릿을 가져오거나 생성합니다. MASTER_SECRET

    3scale 마스터 계정 자격 증명(액세스 토큰)만 사용하여 테넌트 관리 작업을 수행할 수 있습니다. 다음과 같은 옵션이 있습니다.

    • 테넌트 리소스가 3scale과 동일한 네임스페이스에 생성되는 경우 마스터 계정 자격 증명이 이미 생성되어 system-seed 라고 합니다.
    • 테넌트 리소스가 3scale과 동일한 네임스페이스에 생성되지 않은 경우 마스터 계정 자격 증명을 사용하여 시크릿을 생성합니다. 이 명령에서 시크릿 이름은 선택 사항입니다. 시크릿 이름은 테넌트 사용자 정의 리소스에서 사용됩니다.

      oc create secret generic system-seed --from-literal=MASTER_ACCESS_TOKEN=<master access token>
  2. 새 테넌트의 admin 계정에 대한 암호를 저장할 새 시크릿을 생성합니다. ADMIN_SECRET. 이 명령에서 시크릿 이름은 선택 사항입니다. 시크릿 이름은 테넌트 사용자 지정 리소스에서 사용됩니다.

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

    • 3scale이 설치된 네임스페이스에 액세스할 수 있는 경우 마스터 계정 호스트 이름을 가져옵니다.

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

절차

  1. 새 테넌트 사용자 지정 리소스를 배포합니다.

    apiVersion: capabilities.3scale.net/v1alpha1
    kind: Tenant
    metadata:
      name: ecorp-tenant
    spec:
      username: admin
      systemMasterUrl: https://<MASTER_HOSTNAME>
      email: admin@ecorp.com
      organizationName: ECorp
      masterCredentialsRef:
        name: <MASTER_SECRET>
      passwordCredentialsRef:
        name: <ADMIN_SECRET*>
      tenantSecretRef:
        name: tenant-secret
  2. 테넌트 리소스를 생성합니다.

    oc create -f <yaml-name>
    • 이 명령은 3scale 솔루션에 새 테넌트 생성을 트리거합니다.
    • 3scale 운영자는 새 시크릿을 생성하고 새 테넌트 자격 증명을 시크릿에 저장합니다.
    • 새 테넌트 provider_keyadmin 도메인 URL 이 시크릿에 저장됩니다.
    • 보안 위치는 tenant SecretRef 테넌트 사양 키를 사용하여 지정할 수 있습니다.

이는 생성된 보안 콘텐츠의 예입니다.

apiVersion: v1
kind: Secret
metadata:
  name: tenant-secret
type: Opaque
stringData:
  adminURL: https://my3scale-admin.example.com:443
  token: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

테넌트 사용자 정의 리소스 및 가능한 값 필드에 대한 자세한 내용은 테넌트 CRD 참조를 참조하십시오.