1.4. Operator를 사용하여 3scale API Management 배포
이 섹션에서는 APIManager CR(사용자 정의 리소스)을 사용하여 3scale Operator를 통해 3scale 솔루션을 설치하고 배포하는 방법을 설명합니다.
3scale 2.6 이후 와일드카드 경로가 제거되었습니다.
- 이 기능은 백그라운드에서 Zync에 의해 처리됩니다.
- API 공급자가 생성, 업데이트 또는 삭제되면 경로에 해당 변경 사항이 자동으로 반영됩니다.
사전 요구 사항
- 3scale 용 마이크로 릴리스의 자동 업데이트를 받으려면 3scale Operator에서 자동 승인 기능을 활성화해야 합니다. Automatic은 기본 승인 설정입니다. 특정 요구 사항에 따라 언제든지 이를 변경하려면 마이크로 릴리스의 자동화된 애플리케이션 구성 단계를 사용하십시오.
- 먼저 Operator를 사용하여 3scale API Management를 배포하려면 OpenShift에 3scale API Management Operator 설치단계를 수행해야 합니다.
OpenShift Container Platform 4
- OpenShift 클러스터에서 관리자 권한이 있는 사용자 계정입니다.
- 지원되는 구성에 대한 자세한 내용은 Red Hat 3scale API Management Supported Configurations 페이지를 참조하십시오.
다음 절차에 따라 Operator를 사용하여 3scale을 배포합니다.
1.4.1. APIManager 사용자 정의 리소스 배포 링크 복사링크가 클립보드에 복사되었습니다!
Amazon Simple Storage Service(Amazon S3)를 사용하려면 Amazon Simple Storage Service 3scale API Management fileStorage 설치를 참조하십시오.
Operator는 APIManager CR을 감시하고 APIManager CR에 지정된 대로 필요한 3scale 솔루션을 배포합니다.
프로세스
Operators > 설치된 Operators를 클릭합니다.
- 설치된 Operator 목록에서 Red Hat Integration - 3scale 을 클릭합니다.
- API Manager 탭을 클릭합니다.
- APIManager 생성을 클릭합니다.
샘플 콘텐츠를 지우고 편집기에 다음 YAML 정의를 추가한 다음 생성 을 클릭합니다.
3scale 2.8 이전에는
highAvailability필드를true로 설정하여 복제본을 자동으로 추가할 수 있습니다. 3scale 2.8의 다음 예와 같이 복제본 추가는 APIManager CR의 replicas 필드를 통해 제어됩니다.참고wildcardDomain 매개변수의 값은 OCP(OpenShift Container Platform) 라우터 주소로 확인되는 유효한 도메인 이름이어야 합니다. 예를 들면
apps.mycluster.example.com입니다.최소 요구사항이 있는 APIManager CR:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복제본이 구성된 APIManager CR:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.4.2. 관리자 포털 URL 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
Operator를 사용하여 3scale을 배포할 때 기본 테넌트는 3scale-admin.$wildcardDomain} 을 사용하여 고정 URL로 생성됩니다.
wildcardDomain 은 설치 중에 제공한 < wildCardDomain > 매개변수입니다. 다음 명령을 사용하여 브라우저에서 이 고유한 URL을 엽니다.
xdg-open https://3scale-admin.3scale-project.example.com
$ xdg-open https://3scale-admin.3scale-project.example.com
필요한 경우 MASTER 포털 URL:master.${wildcardDomain} 에서 새 테넌트를 만들 수 있습니다.
1.4.3. APIManager 관리 포털 및 마스터 관리 포털 인증 정보 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
<namespace>를 APIManager 리소스가 생성된 네임스페이스 이름으로 바꿉니다.
Operator 기반 배포 후 3scale 관리 포털 또는 마스터 관리 포털에 로그인하려면 별도의 포털마다 인증 정보가 필요합니다. 다음 인증 정보를 가져오려면 다음을 수행합니다.
다음 명령을 실행하여 관리 포털 인증 정보를 가져옵니다.
oc get secret system-seed -n <namespace> -o json | jq -r .data.ADMIN_USER | base64 -d oc get secret system-seed -n <namespace> -o json | jq -r .data.ADMIN_PASSWORD | base64 -d
$ oc get secret system-seed -n <namespace> -o json | jq -r .data.ADMIN_USER | base64 -d $ oc get secret system-seed -n <namespace> -o json | jq -r .data.ADMIN_PASSWORD | base64 -dCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 관리 포털 관리자로 로그인하여 이러한 인증 정보가 작동하는지 확인합니다.
다음 명령을 실행하여 마스터 관리 포털 인증 정보를 가져옵니다.
oc get secret system-seed -n <namespace> -o json | jq -r .data.MASTER_USER | base64 -d oc get secret system-seed -n <namespace> -o json | jq -r .data.MASTER_PASSWORD | base64 -d
$ oc get secret system-seed -n <namespace> -o json | jq -r .data.MASTER_USER | base64 -d $ oc get secret system-seed -n <namespace> -o json | jq -r .data.MASTER_PASSWORD | base64 -dCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 마스터 관리 포털 관리자로 로그인하여 이러한 인증 정보가 작동하는지 확인합니다.
추가 리소스
필요한 경우 MASTER 포털 URL:master.${wildcardDomain} 에서 새 테넌트를 만들 수 있습니다.
1.4.4. Operator를 사용한 3scale API Management의 외부 데이터베이스 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat 3scale API Management 배포에서 데이터베이스를 외부화하는 경우 애플리케이션 격리와 데이터베이스 수준의 서비스 중단에 대한 복원력을 제공합니다. 서비스 중단에 대한 복원력은 데이터베이스를 호스팅하는 인프라 또는 플랫폼 공급자가 제공하는 SLA(서비스 수준 계약)에 따라 달라집니다. 이는 3scale에서 제공되지 않습니다. 선택한 배포에서 제공하는 데이터베이스를 외부화하는 방법에 대한 자세한 내용은 관련 문서를 참조하십시오.
Operator를 사용하여 3scale에 외부 데이터베이스를 사용할 때 하나 이상의 데이터베이스가 실패하는 경우 중단없는 가동 시간을 제공하는 것이 목적입니다.
3scale Operator 기반 배포에서 외부 데이터베이스를 사용하는 경우 다음 사항에 유의하십시오.
- 3scale 중요한 데이터베이스를 외부에서 구성 및 배포합니다. 중요한 데이터베이스에는 시스템 데이터베이스, 시스템 redis 및 백엔드 redis 구성 요소가 포함됩니다. 이러한 구성 요소를 고가용성(HA)으로 배포 및 구성해야 합니다.
3scale을 배포하기 전에 해당 Kubernetes 시크릿을 생성하여 3scale용 구성 요소에 대한 연결 끝점을 지정합니다.
- 자세한 내용은 외부 데이터베이스 설치를 참조하십시오.
- 데이터베이스 이외의 배포 구성에 대한 자세한 내용은 Pod 중단 예산 활성화를 참조하십시오.
APIManagerCR에서.spec.externalComponents속성을 설정하여 시스템 데이터베이스, 시스템 redis 및 백엔드 redis가 외부임을 지정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
또한 zync 데이터베이스를 다시 시작할 때 큐 작업 데이터가 손실되는 것을 방지하기 위해 zync 데이터베이스를 고가용성으로 설정하려면 다음 사항에 유의하십시오.
- 외부에서 zync 데이터베이스를 배포하고 구성합니다. 데이터베이스를 고가용성으로 배포하고 구성해야 합니다.
3scale을 배포하기 전에 해당 Kubernetes 시크릿을 생성하여 3scale의 zync 데이터베이스에 대한 연결 끝점을 지정합니다.
- Zync 데이터베이스 시크릿을 참조하십시오.
-
zync 데이터베이스가 외부 데이터베이스임을 지정하려면
APIManagerCR의.spec.externalComponents.zync.database속성을true로 설정하여 3scale을 구성합니다.