7.6. 테넌트 사용자 정의 리소스 배포
테넌트 사용자 지정 리소스를 Provider Account (프로바이더 계정)라고 합니다.
APIManager 사용자 지정 리소스를 생성하면 3scale을 배포할 운영자가 표시됩니다. 기본 3scale 설치에는 사용할 준비가 된 기본 테넌트가 포함되어 있습니다. 선택적으로 테넌트 사용자 지정 리소스 오브젝트를 생성하는 다른 테넌트를 생성할 수 있습니다.
사전 요구 사항
3scale 인스턴스에 새 테넌트를 배포하려면 준비 단계를 수행해야 합니다.
3scale 마스터 인증 정보 시크릿을 가져오거나 생성합니다. MASTER_SECRET
3scale 마스터 계정 자격 증명(액세스 토큰)만 사용하여 테넌트 관리 작업을 수행할 수 있습니다. 다음과 같은 옵션이 있습니다.
-
테넌트 리소스가 3scale과 동일한 네임스페이스에 생성되는 경우 마스터 계정 자격 증명이 이미 생성되어
system-seed
라고 합니다. 테넌트 리소스가 3scale과 동일한 네임스페이스에 생성되지 않은 경우 마스터 계정 자격 증명을 사용하여 시크릿을 생성합니다. 이 명령에서 시크릿 이름은 선택 사항입니다. 시크릿 이름은 테넌트 사용자 정의 리소스에서 사용됩니다.
oc create secret generic system-seed --from-literal=MASTER_ACCESS_TOKEN=<master access token>
-
테넌트 리소스가 3scale과 동일한 네임스페이스에 생성되는 경우 마스터 계정 자격 증명이 이미 생성되어
새 테넌트의 admin 계정에 대한 암호를 저장할 새 시크릿을 생성합니다. ADMIN_SECRET. 이 명령에서 시크릿 이름은 선택 사항입니다. 시크릿 이름은 테넌트 사용자 지정 리소스에서 사용됩니다.
oc create secret generic ecorp-admin-secret --from-literal=admin_password=<admin password value>
3scale 마스터 계정 호스트 이름을 가져옵니다. MASTER_HOSTNAME. 운영자를 사용하여 3scale을 배포할 때 마스터 계정에는 이러한 패턴이 있는 고정 URL이 있습니다(master
.${wildcardDomain}
).3scale이 설치된 네임스페이스에 액세스할 수 있는 경우 마스터 계정 호스트 이름을 가져옵니다.
oc get routes --field-selector=spec.to.name==system-master -o jsonpath="{.items[].spec.host}"
절차
새 테넌트 사용자 지정 리소스를 배포합니다.
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
테넌트 리소스를 생성합니다.
oc create -f <yaml-name>
- 이 명령은 3scale 솔루션에 새 테넌트 생성을 트리거합니다.
- 3scale 운영자는 새 시크릿을 생성하고 새 테넌트 자격 증명을 시크릿에 저장합니다.
-
새 테넌트
provider_key
및admin 도메인 URL
이 시크릿에 저장됩니다. -
보안 위치는 tenant
SecretRef 테넌트
사양 키를 사용하여 지정할 수 있습니다.
이는 생성된 보안 콘텐츠의 예입니다.
apiVersion: v1 kind: Secret metadata: name: tenant-secret type: Opaque stringData: adminURL: https://my3scale-admin.example.com:443 token: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
테넌트 사용자 정의 리소스 및 가능한 값 필드에 대한 자세한 내용은 테넌트 CRD 참조를 참조하십시오.