8.5. 3scale Operator가 사용자 정의 리소스가 연결되는 테넌트를 식별하는 방법
3scale CR(사용자 정의 리소스)을 배포하여 다양한 3scale 오브젝트를 관리할 수 있습니다. 3scale CR은 정확히 하나의 테넌트에 연결됩니다.
3scale Operator가 3scale 기본 동작과 동일한 네임스페이스에 설치된 경우 3scale CR이 3scale 인스턴스의 기본 테넌트에 연결되는 것입니다. 3scale CR을 다른 테넌트에 연결하려면 다음 중 하나를 수행할 수 있습니다.
3scale CR이 포함된 네임스페이스에
threescale-provider-account
시크릿을 생성합니다. 3scale CR을 배포할 때 Operator는 이 시크릿을 읽고 CR이 연결되는 테넌트를 식별합니다. Operator에서 이 보안을 사용하려면 다음 중 하나가 true여야 합니다.-
3scale CR은
spec.providerAccountRef
필드를 null로 지정합니다. 3scale CR에서
spec.providerAccountRef
필드를 생략합니다.threescale-provider-account
보안은 CR이 연결되는 테넌트를 식별합니다. 시크릿에는 토큰 양식에서 해당 3scale 인스턴스의 테넌트에 액세스하기 위한 URL 및 인증 정보 형식으로 3scale 인스턴스에 대한 참조가 포함되어야 합니다. 예를 들어 다음과 같습니다.oc create secret generic threescale-provider-account --from-literal=adminURL=https://3scale-admin.example.com --from-literal=token=123456
threescale-provider-account
시크릿은 HTTP 연결을 사용할 수 있는 한 3scale 인스턴스에서 모든 테넌트를 식별할 수 있습니다. 즉, CR이 서로 다른 네임스페이스 또는 다른 OpenShift 클러스터에 있을 수 있는 테넌트가 포함된 3scale CR 및 3scale 인스턴스가 있습니다.
-
3scale CR은
3scale CR에서
spec.providerAccountRef
를 지정하고 테넌트를 식별하는 OpenShiftSecret
의 로컬 참조 이름으로 설정합니다. 다음 3scaleDeveloperAccount
CR 예제에서mytenant
는 시크릿입니다.apiVersion: capabilities.3scale.net/v1beta1 kind: DeveloperAccount metadata: name: developeraccount-simple-sample spec: orgName: Ecorp providerAccountRef: name: mytenant
시크릿에서 다음을 수행합니다.
-
adminURL
은 모든 네임스페이스에 있을 수 있는 3scale 인스턴스의 URL을 지정합니다. token
은 해당 3scale 인스턴스에서 하나의 테넌트에 대한 액세스 자격 증명을 지정합니다. 이 테넌트는 기본 테넌트 또는 해당 인스턴스의 다른 테넌트일 수 있습니다.일반적으로 테넌트 사용자 정의 리소스를 배포할 때 이 시크릿을 생성합니다. 예를 들어 다음과 같습니다.
apiVersion: v1 kind: Secret metadata: name: mytenant type: Opaque stringData: adminURL: https://my3scale-admin.example.com:443 token: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
-
3scale Operator가 CR 링크로 연결되는 테넌트를 식별할 수 없는 경우 Operator는 오류 메시지를 생성합니다.