8.7. 3scale ActiveDoc 사용자 정의 리소스 배포
Red Hat 3scale API Management ActiveDocs는 OpenAPI 사양 을 준수하는 RESTful 웹 서비스를 정의하는 API 정의 문서를 기반으로 합니다. ActiveDoc
CR(사용자 정의 리소스)은 개발자 포털에서 ActiveDocs에 사용할 수 있는 OCI(OpenAPI Specification) 문서를 가져오는 한 가지 방법입니다. OAS는 API에 대해 하나의 특정 프로그래밍 언어를 사용하도록 연결되지 않는 표준입니다. 사람과 컴퓨터는 소스 코드 액세스, 문서 또는 네트워크 트래픽 검사 없이 API 제품의 기능을 더 쉽게 이해할 수 있습니다.
사전 요구 사항
- 3scale 2.13 On-Premises 인스턴스에 대한 관리자 권한이 있는 사용자 계정입니다.
- API를 정의하는 OAS 문서입니다.
-
ActiveDoc
CR이 테넌트에 연결되는 방법에 대한 이해입니다.
8.7.1. 시크릿에서 OAS 문서를 가져오는 3scale ActiveDoc 사용자 정의 리소스 배포
3scale 백엔드 및 제품 을 생성할 수 있도록 ActiveDoc
CR(사용자 정의 리소스)을 배포합니다.
Operator는 시크릿의 콘텐츠만 읽습니다. Operator는 시크릿의 필드 이름을 읽지 않습니다. 예를 들어 데이터는 key: value
쌍으로 구성되는데, 여기서 value
는 파일의 내용을 나타내고 키
는 파일 이름입니다. 이 ActiveDoc CRD 컨텍스트에서 Operator는 파일 이름을 무시합니다. Operator는 파일의 콘텐츠만 읽습니다.
사전 요구 사항
- 3scale Operator가 사용자 지정 리소스가 연결되는 테넌트를 식별하는 방법을 이해합니다.
OAS(OpenAPI Specification) 문서를 포함하는 보안을 정의합니다. 예를 들어 다음 콘텐츠를 사용하여
myoasdoc1.yaml
을 생성할 수 있습니다.openapi: "3.0.2" info: title: "some title" description: "some description" version: "1.0.0" paths: /pet: get: operationId: "getPet" responses: 405: description: "invalid input"
절차
시크릿을 생성합니다. 예를 들어 다음과 같습니다.
$ oc create secret generic myoasdoc1 --from-file myoasdoc1.yaml secret/myoasdoc1 created
ActiveDoc
CR을 정의합니다. OAS 문서가 포함된 보안에 대한 참조를 지정해야 합니다. 예를 들어myactivedoccr1.yaml
파일을 생성할 수 있습니다.apiVersion: capabilities.3scale.net/v1beta1 kind: ActiveDoc metadata: name: myactivedoccr1 spec: name: "Operated ActiveDoc From secret" activeDocOpenAPIRef: secretRef: name: myoasdoc1
방금 정의한 리소스를 생성합니다. 예를 들어 다음과 같습니다.
$ oc create -f myactivedoccr1.yaml
지정된 예제의 출력은 다음과 같습니다.
activedoc.capabilities.3scale.net/myactivedoccr1 created
검증
- Red Hat OCP(OpenShift Container Platform) 관리자 계정에 로그인합니다.
- Operator > 설치된 Operator로 이동합니다.
- Red Hat Integration - 3scale 을 클릭합니다.
- Active Doc 탭을 클릭합니다.
-
OAS 문서가 있는지 확인합니다. 위의 예에서는
myactivedoccr1
이라는 새 OAS 문서가 표시됩니다.
8.7.2. 3scale ActiveDoc 사용자 정의 리소스 정의의 기능
ActiveDoc
CRD(사용자 정의 리소스 정의)는 개발자를 위한 OpenAPI
문서 형식의 제품 문서에 관련이 있습니다. ActiveDoc
CRD 배포 기능에 대한 지식이 있으면 개발자 포털에 ActiveDocs를 생성할 수 있습니다.
ActiveDoc
CR은 다음 중 하나에서 OpenAPI 문서를 읽고 사용할 수 있습니다.- Secret
-
http
또는https
형식의 URL
-
필요한 경우
productSystemName
필드를 사용하여ActiveDoc
CR을 3scale 제품과 연결할 수 있습니다. 값은 3scale 제품 CR의system_name
이어야 합니다. -
게시된
필드를 사용하여 3scale에서ActiveDoc
문서를 게시하거나 숨길 수 있습니다. 기본적으로 이 값은숨겨
진 상태로 설정됩니다. -
skipSwaggerValidations
필드를 사용하여 OpenAPI 3.0 유효성 검사를 건너뛸 수 있습니다. 기본적으로ActiveDoc
CR의 유효성이 검증됩니다.
8.7.3. URL에서 OAS 문서를 가져오는 3scale ActiveDoc 사용자 정의 리소스 배포
지정하는 URL에서 OAS(OpenAPI Specification) 문서를 가져오는 ActiveDoc
CR(사용자 정의 리소스)을 배포할 수 있습니다. 그런 다음 이 OAS 문서를 개발자 포털에서 API의 ActiveDocs의 기반으로 사용할 수 있습니다.
사전 요구 사항
절차
- OpenShift 계정에서 Operator > 설치된 Operator로 이동합니다.
- 3scale Operator를 클릭합니다.
- Active Doc 탭을 클릭합니다.
ActiveDoc
CR을 생성합니다. 예를 들어 다음과 같습니다.apiVersion: capabilities.3scale.net/v1beta1 kind: ActiveDoc metadata: name: myactivedoccr1 spec: openapiRef: url: "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml" providerAccountRef: name: mytenant
선택 사항:
ActiveDoc
CR에서 self-managed APIcast의 경우productionPublicBaseURL
및stagingPublicBaseURL
필드를 배포 URL로 설정합니다. 예를 들어 다음과 같습니다.apiVersion: capabilities.3scale.net/v1beta1 kind: ActiveDoc metadata: name: myactivedoccr1 spec: openapiRef: url: "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml" productionPublicBaseURL: "https://production.my-gateway.example.com" stagingPublicBaseURL: "https://staging.my-gateway.example.com"
-
저장을 클릭합니다. 3scale Operator가
ActiveDoc
CR을 생성하는 데 몇 초가 걸립니다.
검증
- Red Hat OCP(OpenShift Container Platform) 관리자 계정에 로그인합니다.
- Operator > 설치된 Operator로 이동합니다.
- Red Hat Integration 3scale 을 클릭합니다.
- Active Doc 탭을 클릭합니다.
-
OAS 문서가 있는지 확인합니다. 위의 예에서는
myactivedoccr1
이라는 새 OAS 문서가 표시됩니다.