6장. 기능: 운영자를 통한 3scale 서비스 및 구성 프로비저닝
이 문서에서는 OCP(OpenShift Container Platform) 사용자 인터페이스를 통해 3scale 운영자를 통해 3scale Operator를 통해 3scale 서비스 및 구성을 프로비저닝하는 데 필요한 기능을 위한 3scale 연산자에 대한 정보를 설명합니다.
기능을 위한 3scale 연산자는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다. Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
사전 요구 사항
- 3scale 2.8 On-Premises 인스턴스에 대한 관리자 권한이 있는 사용자 계정
- 3scale Operator가 설치되어 있어야 합니다.
OpenShift 클러스터에서 관리자 권한이 있는 사용자 계정이 있는 OpenShift Container Platform 4
- 참고: OCP 4에서는 운영자만 사용하는 3scale 배포를 지원합니다.
- 지원되는 구성에 대한 자세한 내용은 Red Hat 3scale API Management Supported Configurations 페이지를 참조하십시오.
3scale Operator를 사용하여 3scale의 API 구성을 업데이트할 때 CRD(사용자 정의 리소스 정의)는 신뢰의 소스입니다. 관리 사용자 인터페이스에서 변경 사항이 수행되면 지속되지 않으며 CRD의 정의로 재정의됩니다.
다음 섹션에서는 기능과 관련된 사용자 지정 리소스를 배포하고 선택 사항 테넌트 사용자 정의 리소스를 배포하는 방법과 사용자 정의 리소스를 삭제하는 방법을 설명합니다.
6.1. 기능과 관련된 사용자 정의 리소스 배포 링크 복사링크가 클립보드에 복사되었습니다!
새로 생성된 테넌트에서 Openshift Container Platform을 사용하여 API,메트릭 및 매핑 규칙을 구성합니다.
6.1.1. API 생성 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 api: api01
라벨을 사용하여 API를 생성합니다.
절차
카탈로그 > 설치된 Operator 를 클릭합니다.
- 설치된 Operator 목록에서 3scale Operator 를 클릭합니다.
- API 탭을 클릭합니다.
- Create API(API 만들기)를 클릭합니다.
샘플 콘텐츠를 지우고 다음 YAML 정의를 편집기에 추가한 다음 Create(만들기 )를 클릭합니다.
apiVersion: capabilities.3scale.net/v1alpha1 kind: API metadata: creationTimestamp: 2019-01-25T13:28:41Z generation: 1 labels: environment: testing name: api01 spec: planSelector: matchLabels: api: api01 description: api01 integrationMethod: apicastHosted: apiTestGetRequest: / authenticationSettings: credentials: apiKey: authParameterName: user-key credentialsLocation: headers errors: authenticationFailed: contentType: text/plain; charset=us-ascii responseBody: Authentication failed responseCode: 403 authenticationMissing: contentType: text/plain; charset=us-ascii responseBody: Authentication Missing responseCode: 403 hostHeader: "" secretToken: Shared_secret_sent_from_proxy_to_API_backend_9603f637ca51ccfe mappingRulesSelector: matchLabels: api: api01 privateBaseURL: https://echo-api.3scale.net:443 metricSelector: matchLabels: api: api01
apiVersion: capabilities.3scale.net/v1alpha1 kind: API metadata: creationTimestamp: 2019-01-25T13:28:41Z generation: 1 labels: environment: testing name: api01 spec: planSelector: matchLabels: api: api01 description: api01 integrationMethod: apicastHosted: apiTestGetRequest: / authenticationSettings: credentials: apiKey: authParameterName: user-key credentialsLocation: headers errors: authenticationFailed: contentType: text/plain; charset=us-ascii responseBody: Authentication failed responseCode: 403 authenticationMissing: contentType: text/plain; charset=us-ascii responseBody: Authentication Missing responseCode: 403 hostHeader: "" secretToken: Shared_secret_sent_from_proxy_to_API_backend_9603f637ca51ccfe mappingRulesSelector: matchLabels: api: api01 privateBaseURL: https://echo-api.3scale.net:443 metricSelector: matchLabels: api: api01
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고모든 선택기(지표,계획 ,mappingrules)는 특정 레이블
api: api01
을 사용합니다. 레이블을 추가하고 복잡한 시나리오를 처리하도록 선택기를 구성하여 이를 변경할 수 있습니다.
6.1.2. 계획 추가 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 api 라벨이 있는 계획을 추가합니다. api01
.
절차
카탈로그 > 설치된 Operator 를 클릭합니다.
- 설치된 Operator 목록에서 3scale Operator 를 클릭합니다.
- Plan(계획 ) 탭을 클릭합니다.
- Create Plan (계획 만들기)을 클릭합니다.
샘플 콘텐츠를 지우고 다음 YAML 정의를 편집기에 추가한 다음 Create(만들기 )를 클릭합니다.
apiVersion: capabilities.3scale.net/v1alpha1 kind: Plan metadata: labels: api: api01 name: plan01 spec: approvalRequired: false default: true costs: costMonth: 0 setupFee: 0 limitSelector: matchLabels: api: api01 trialPeriod: 0
apiVersion: capabilities.3scale.net/v1alpha1 kind: Plan metadata: labels: api: api01 name: plan01 spec: approvalRequired: false default: true costs: costMonth: 0 setupFee: 0 limitSelector: matchLabels: api: api01 trialPeriod: 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.1.3. 메트릭 추가 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 metric01이라는 지표를
추가합니다.
절차
카탈로그 > 설치된 Operator 를 클릭합니다.
- 설치된 Operator 목록에서 3scale Operator 를 클릭합니다.
- Metric (지표) 탭을 클릭합니다.
- 지표 생성을 클릭합니다.
샘플 콘텐츠를 지우고 다음 YAML 정의를 편집기에 추가한 다음 Create(만들기 )를 클릭합니다.
apiVersion: capabilities.3scale.net/v1alpha1 kind: Metric metadata: labels: api: api01 name: metric01 spec: description: metric01 unit: hit incrementHits: false
apiVersion: capabilities.3scale.net/v1alpha1 kind: Metric metadata: labels: api: api01 name: metric01 spec: description: metric01 unit: hit incrementHits: false
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.1.4. 제한 설정 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 지표에 대해 1일당 10번의 조회를 제한하는 제한을 설정합니다.
절차
카탈로그 > 설치된 Operator 를 클릭합니다.
- 설치된 Operator 목록에서 3scale Operator 를 클릭합니다.
- Limit(제한 ) 탭을 클릭합니다.
- Create Limit(제한 만들기)를 클릭합니다.
샘플 콘텐츠를 지우고 다음 YAML 정의를 편집기에 추가한 다음 Create(만들기 )를 클릭합니다.
apiVersion: capabilities.3scale.net/v1alpha1 kind: Limit metadata: labels: api: api01 name: plan01-metric01-day-10 spec: description: Limit for metric01 in plan01 maxValue: 10 metricRef: name: metric01 period: day
apiVersion: capabilities.3scale.net/v1alpha1 kind: Limit metadata: labels: api: api01 name: plan01-metric01-day-10 spec: description: Limit for metric01 in plan01 maxValue: 10 metricRef: name: metric01 period: day
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.1.5. 매핑 규칙 추가 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 metric01
을 늘리기 위해 MappingRule 을 추가합니다.
절차
카탈로그 > 설치된 Operator 를 클릭합니다.
- 설치된 Operator 목록에서 3scale Operator 를 클릭합니다.
- MappingRule 탭을 클릭합니다.
- Create Mapping Rule (맵 규칙 만들기)을 클릭합니다.
샘플 콘텐츠를 지우고 다음 YAML 정의를 편집기에 추가한 다음 Create(만들기 )를 클릭합니다.
apiVersion: capabilities.3scale.net/v1alpha1 kind: MappingRule metadata: labels: api: api01 name: metric01-get-path01 spec: increment: 1 method: GET metricRef: name: metric01 path: /path01
apiVersion: capabilities.3scale.net/v1alpha1 kind: MappingRule metadata: labels: api: api01 name: metric01-get-path01 spec: increment: 1 method: GET metricRef: name: metric01 path: /path01
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.1.6. 바인딩 생성 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차는 바인딩 오브젝트, API, 계획, 메트릭, 세트 제한 및 이전에 생성한 매핑 규칙과 함께 결합합니다. 테넌트 컨트롤러에서 생성한 인증 정보를 사용합니다.
절차
카탈로그 > 설치된 Operator 를 클릭합니다.
- 설치된 Operator 목록에서 3scale Operator 를 클릭합니다.
- 바인딩 탭을 클릭합니다.
- Create Binding (바인딩 만들기)을 클릭합니다.
샘플 콘텐츠를 지우고 다음 YAML 정의를 편집기에 추가한 다음 Create(만들기 )를 클릭합니다.
apiVersion: capabilities.3scale.net/v1alpha1 kind: Binding metadata: name: mytestingbinding spec: credentialsRef: name: ecorp-tenant-secret APISelector: matchLabels: environment: testing
apiVersion: capabilities.3scale.net/v1alpha1 kind: Binding metadata: name: mytestingbinding spec: credentialsRef: name: ecorp-tenant-secret APISelector: matchLabels: environment: testing
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 바인딩 오브젝트는
ecorp-tenant-secret
을 참조하고environment: staging
으로 레이블이 지정된 API 오브젝트를 생성합니다.- 새 3scale 테넌트로 이동하여 이전 단계에서 수행한 모든 항목이 생성되었는지 확인합니다.