2.6. Operator를 사용하여 OpenShift에서 3scale에 대한 배포 구성 옵션
이 섹션에서는 Operator를 사용하여 OpenShift에서 Red Hat 3scale API Management의 배포 구성 옵션에 대해 설명합니다.
사전 요구 사항
- 컨테이너 레지스트리 인증 구성
- 먼저 Operator를 사용하여 3scale을 배포하려면 OpenShift에 3scale Operator 설치단계를 수행해야 합니다.
OpenShift Container Platform 4.x
- OpenShift 클러스터에서 관리자 권한이 있는 사용자 계정입니다.
2.6.1. 내장된 APIcast에 대한 프록시 매개변수 구성 링크 복사링크가 클립보드에 복사되었습니다!
3scale 관리자는 내장된 APIcast 준비 및 프로덕션에 대한 프록시 매개변수를 구성할 수 있습니다. 이 섹션에서는 APIManager
사용자 정의 리소스에서 프록시 매개변수를 지정하는 데 필요한 참조 정보를 제공합니다. 즉, 3scale 연산자( APIManager
사용자 정의 리소스)를 사용하여 OpenShift에 3scale을 배포합니다.
APIManager
CR을 처음 배포할 때 이러한 매개변수를 지정하거나 배포된 APIManager
CR을 업데이트할 수 있으며 Operator에서 업데이트를 조정할 수 있습니다. APIManager 사용자 정의 리소스 배포를 참조하십시오.
내장된 APIcast의 프록시 관련 구성 매개변수는 다음 네 가지입니다.
-
allProxy
-
httpProxy
-
httpsProxy
-
noProxy
allProxy
allProxy
매개변수는 요청이 프로토콜별 프록시를 지정하지 않는 경우 서비스 연결에 사용할 HTTP 또는 HTTPS 프록시를 지정합니다.
프록시를 설정한 후 allProxy
매개변수를 프록시 주소로 설정하여 APIcast를 구성합니다. 프록시에서 인증이 지원되지 않습니다. 즉, APIcast는 인증된 요청을 프록시에 보내지 않습니다.
allProxy
매개변수의 값은 문자열이며, 기본값이 없으며 매개 변수는 필요하지 않습니다. spec.apicast.productionSpec.allProxy
매개변수 또는 spec.apicast.stagingSpec.allProxy
매개변수를 설정하려면 이 형식을 사용합니다.
<scheme>://<host>:<port>
예를 들어 다음과 같습니다.
httpProxy
httpProxy
매개변수는 HTTP 서비스 연결에 사용할 HTTP 프록시를 지정합니다.
프록시를 설정한 후 httpProxy
매개변수를 프록시 주소로 설정하여 APIcast를 구성합니다. 프록시에서 인증이 지원되지 않습니다. 즉, APIcast는 인증된 요청을 프록시에 보내지 않습니다.
httpProxy
매개변수의 값은 문자열이며, 기본값이 없으며 매개 변수는 필요하지 않습니다. spec.apicast.productionSpec.httpProxy
매개변수 또는 spec.apicast.stagingSpec.httpProxy
매개변수를 설정하려면 이 형식을 사용합니다.
http://<host>:<port>
예를 들어 다음과 같습니다.
httpsProxy
httpsProxy
매개변수는 서비스 연결에 사용할 HTTPS 프록시를 지정합니다.
프록시를 설정한 후 httpsProxy
매개변수를 프록시 주소로 설정하여 APIcast를 구성합니다. 프록시에서 인증이 지원되지 않습니다. 즉, APIcast는 인증된 요청을 프록시에 보내지 않습니다.
httpsProxy
매개변수의 값은 문자열이며, 기본값이 없으며 매개 변수는 필요하지 않습니다. spec.apicast.productionSpec.httpsProxy
매개변수 또는 spec.apicast.stagingSpec.httpsProxy
매개변수를 설정하려면 이 형식을 사용합니다.
https://<host>:<port>
예를 들어 다음과 같습니다.
noProxy
noProxy
매개변수는 쉼표로 구분된 호스트 이름과 도메인 이름을 지정합니다. 요청에 이러한 이름 중 하나가 포함되어 있으면 APIcast에서 요청을 프록시하지 않습니다.
프록시에 대한 액세스를 중지해야 하는 경우(예: 유지 관리 작업 중) noProxy
매개변수를 별표(*)로 설정합니다. 이는 모든 요청에 지정된 모든 호스트와 일치하며 프록시를 효과적으로 비활성화합니다.
noProxy
매개변수의 값은 문자열이며, 기본값이 없으며 매개 변수는 필요하지 않습니다. spec.apicast.productionSpec.noProxy
매개변수 또는 spec.apicast.stagingSpec.noProxy
매개변수를 설정하려면 쉼표로 구분된 문자열을 지정합니다. 예를 들어 다음과 같습니다.
2.6.2. 3scale Operator를 사용하여 사용자 지정 환경 삽입 링크 복사링크가 클립보드에 복사되었습니다!
포함된 APIcast를 사용하는 3scale 설치에서는 3scale 연산자를 사용하여 사용자 정의 환경을 삽입할 수 있습니다. 임베디드 APIcast는 관리 또는 호스팅 APIcast라고도 합니다. 사용자 지정 환경은 게이트웨이가 제공하는 모든 업스트림 API에 APIcast가 적용되는 동작을 정의합니다. 사용자 지정 환경을 만들려면 Lua 코드에서 글로벌 구성을 정의합니다.
3scale 설치 전이나 후에 사용자 지정 환경을 삽입할 수 있습니다. 사용자 지정 환경을 삽입한 후 3scale 설치 후 사용자 지정 환경을 제거할 수 있습니다. 3scale Operator는 변경 사항을 조정합니다.
사전 요구 사항
- 3scale Operator가 설치되어 있습니다.
절차
삽입할 사용자 지정 환경을 정의하는 Lua 코드를 작성합니다. 예를 들어 다음
env1.lua
파일은 3scale 운영자가 모든 서비스에 대해 로드하는 사용자 지정 로깅 정책을 보여줍니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 지정 환경을 정의하는 Lua 파일에서 시크릿을 생성합니다. 예를 들어 다음과 같습니다.
oc create secret generic custom-env-1 --from-file=./env1.lua
oc create secret generic custom-env-1 --from-file=./env1.lua
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 시크릿에는 여러 사용자 지정 환경이 포함될 수 있습니다. 사용자 지정 환경을 정의하는 각 파일에 대해
'-from-file
옵션을 지정합니다. Operator는 각 사용자 지정 환경을 로드합니다.방금 생성한 시크릿을 참조하는
APIManager
사용자 정의 리소스를 정의합니다. 다음 예제에서는 사용자 지정 환경을 정의하는 시크릿을 참조하는 상대적 콘텐츠만 보여줍니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow APIManager
사용자 정의 리소스는 사용자 지정 환경을 정의하는 여러 시크릿을 참조할 수 있습니다. Operator는 각 사용자 지정 환경을 로드합니다.사용자 지정 환경을 추가하는
APIManager
사용자 정의 리소스를 생성합니다. 예를 들어 다음과 같습니다.oc apply -f apimanager.yaml
oc apply -f apimanager.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 단계
사용자 지정 환경을 정의하는 보안의 콘텐츠를 업데이트할 수 없습니다. 사용자 지정 환경을 업데이트해야 하는 경우 다음 중 하나를 수행할 수 있습니다.
-
권장 옵션은 다른 이름으로 시크릿을 생성하고
APIManager
사용자 정의 리소스 필드,customEnvironments[].secretRef.name
을 업데이트하는 것입니다. Operator는 롤링 업데이트를 트리거하고 업데이트된 사용자 지정 환경을 로드합니다. -
또는
spec.apicast.productionSpec.replicas
또는spec.apicast.stagingSpec.replicas
를 0으로 설정한 다음spec.apicast.productionSpec.replicas
또는spec.apicast.stagingSpec.replicas
를 이전 값으로 설정하여 APIcast를 다시 배포하여 기존 보안을 업데이트할 수 있습니다.
2.6.3. 3scale Operator를 사용하여 사용자 정의 정책 삽입 링크 복사링크가 클립보드에 복사되었습니다!
내장 APIcast를 사용하는 3scale 설치에서는 3scale Operator를 사용하여 사용자 지정 정책을 삽입할 수 있습니다. 임베디드 APIcast는 관리 또는 호스팅 APIcast라고도 합니다. 사용자 지정 정책을 삽입하면 정책 코드가 APIcast에 추가됩니다. 그런 다음 다음 중 하나를 사용하여 API 제품의 정책 체인에 사용자 지정 정책을 추가할 수 있습니다.
- 3scale API
-
Product
사용자 정의 리소스
3scale 관리 포털을 사용하여 제품의 정책 체인에 사용자 지정 정책을 추가하려면 사용자 지정 정책의 스키마를 CustomPolicyDefinition
사용자 지정 리소스에 등록해야 합니다. 사용자 지정 정책 등록은 관리 포털을 사용하여 제품의 정책 체인을 구성하려는 경우에만 필요합니다.
3scale 설치 후 또는 의 일부로 사용자 지정 정책을 삽입할 수 있습니다. 사용자 지정 정책을 삽입한 후 3scale 설치 후 APIManager
CR에서 사양을 제거하여 사용자 지정 정책을 제거할 수 있습니다. 3scale Operator는 변경 사항을 조정합니다.
사전 요구 사항
- 3scale Operator를 설치하거나 이전에 설치했습니다.
-
자체 정책 쓰기에 설명된 대로 사용자 지정 정책을 정의했습니다. 즉, 사용자 지정 정책을 정의하는
my-policy.lua
,apicast-policy.json
,init.lua
파일이 이미 생성되었습니다.
절차
하나의 사용자 지정 정책을 정의하는 파일에서 시크릿을 생성합니다. 예를 들어 다음과 같습니다.
oc create secret generic my-first-custom-policy-secret \ --from-file=./apicast-policy.json \ --from-file=./init.lua \ --from-file=./my-first-custom-policy.lua
oc create secret generic my-first-custom-policy-secret \ --from-file=./apicast-policy.json \ --from-file=./init.lua \ --from-file=./my-first-custom-policy.lua
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 지정 정책이 두 개 이상 있는 경우 각 사용자 지정 정책에 대한 보안을 생성합니다. 보안에는 하나의 사용자 지정 정책만 포함될 수 있습니다.
사용자 지정 정책이 포함된 각 보안을 참조하는
APIManager
사용자 지정 리소스를 정의합니다. APIcast 스테이징 및 APIcast 프로덕션에 대해 동일한 시크릿을 지정할 수 있습니다. 다음 예제에서는 사용자 정의 정책이 포함된 보안을 참조하는 것과 관련된 콘텐츠만 보여줍니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow APIManager
사용자 정의 리소스는 다른 사용자 지정 정책을 정의하는 여러 시크릿을 참조할 수 있습니다. Operator는 각 사용자 지정 정책을 로드합니다.사용자 지정 정책이 포함된 보안을 참조하는
APIManager
사용자 지정 리소스를 생성합니다. 예를 들어 다음과 같습니다.oc apply -f apimanager.yaml
oc apply -f apimanager.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 단계
사용자 정의 정책을 정의하는 시크릿 콘텐츠를 업데이트할 수 없습니다. 사용자 지정 정책을 업데이트해야 하는 경우 다음 중 하나를 수행할 수 있습니다.
-
권장 옵션은 다른 이름으로 시크릿을 생성하고 새 시크릿을 참조하도록
APIManager
사용자 지정 리소스customPolicies
섹션을 업데이트하는 것입니다. Operator는 롤링 업데이트를 트리거하고 업데이트된 사용자 지정 정책을 로드합니다. -
또는
spec.apicast.productionSpec.replicas
또는spec.apicast.stagingSpec.replicas
를 0으로 설정한 다음spec.apicast.productionSpec.replicas
또는spec.apicast.stagingSpec.replicas
를 이전 값으로 설정하여 APIcast를 다시 배포하여 기존 보안을 업데이트할 수 있습니다.
2.6.4. 3scale Operator로 OpenTracing 구성 링크 복사링크가 클립보드에 복사되었습니다!
내장 APIcast를 사용하는 3scale 설치에서는 3scale Operator를 사용하여 OpenTracing을 구성할 수 있습니다. 스테이징 또는 프로덕션 환경에서 또는 두 환경 모두에서 OpenTracing을 구성할 수 있습니다. OpenTracing을 활성화하면 APIcast 인스턴스에 대한 더 많은 통찰력과 가시성을 얻을 수 있습니다.
사전 요구 사항
- 3scale Operator가 설치되었거나 설치 중입니다.
- OpenTracing을 사용하도록 APIcast 구성에 나열된 사전 요구 사항입니다.
- Jaeger가 설치되어 있어야 합니다.
절차
stringData.config
에 OpenTracing 구성 세부 정보가 포함된 시크릿을 정의합니다. 이는 OpenTracing 구성 세부 정보가 포함된 속성에 대해 유일하게 유효한 값입니다. 다른 사양에서는 APIcast가 OpenTracing 구성 세부 정보를 수신하지 못하도록 합니다. 다음 예제에서는 유효한 보안 정의를 보여줍니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 시크릿을 생성합니다. 예를 들어 이전 시크릿 정의를
myjaeger.yaml
파일에 저장한 경우 다음 명령을 실행합니다.oc create secret generic myjaeger --from-file myjaeger.yaml
oc create secret generic myjaeger --from-file myjaeger.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenTracing
특성을 지정하는APIManager
사용자 지정 리소스를 정의합니다. CR 정의에서openTracing.tracingConfigSecretRef.name
속성을 OpenTracing 구성 세부 정보가 포함된 시크릿 이름으로 설정합니다. 다음 예제에서는 OpenTracing 구성을 기준으로 한 콘텐츠만 보여줍니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenTracing을 구성하는
APIManager
사용자 지정 리소스를 만듭니다. 예를 들어APIManager
사용자 정의 리소스를apimanager1.yaml
파일에 저장한 경우 다음 명령을 실행합니다.oc apply -f apimanager1.yaml
oc apply -f apimanager1.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 단계
OpenTracing이 설치된 방법에 따라 Jaeger 서비스 사용자 인터페이스에 추적이 표시되어야 합니다.
추가 리소스
2.6.5. 3scale Operator를 사용하여 Pod 수준에서 TLS 활성화 링크 복사링크가 클립보드에 복사되었습니다!
3scale은 두 개의 APIcast 인스턴스를 배포합니다. 하나는 프로덕션용이고 다른 하나는 스테이징용입니다. 프로덕션 또는 스테이징만 또는 두 인스턴스에만 TLS를 활성화할 수 있습니다.
사전 요구 사항
- TLS를 활성화하는 데 유효한 인증서입니다.
절차
유효한 인증서에서 보안을 생성합니다. 예를 들면 다음과 같습니다.
oc create secret tls mycertsecret --cert=server.crt --key=server.key
oc create secret tls mycertsecret --cert=server.crt --key=server.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 구성에서
APIManager
CRD에 보안 참조를 노출합니다. 시크릿을 생성한 다음 다음과 같이APIManager
사용자 정의 리소스에서 시크릿 이름을 참조합니다.-
제품 이름:
APIManager
CR은.spec.apicast.productionSpec.httpsCertificateSecretRef
필드에 인증서를 노출합니다. 스테이징:
APIManager
CR은.spec.apicast.stagingSpec.httpsCertificateSecretRef
필드에 인증서를 노출합니다.선택적으로 다음을 구성할 수 있습니다.
-
httpsPort
는 HTTPS 연결에서 수신 대기해야 하는 포트 APIcast를 나타냅니다. HTTP 포트 APIcast가 충돌하면 이 포트는 HTTPS용으로만 사용됩니다. httpsVerifyDepth
는 클라이언트 인증서 체인의 최대 길이를 정의합니다.참고APImanager
CR에서 유효한 인증서 및 참조를 제공합니다. 구성에서httpsPort
에 액세스할 수 있지만httpsCertificateSecretRef
는 액세스할 수 없는 경우 APIcast는 포함된 자체 서명된 인증서를 사용합니다. 이는 권장되지 않습니다.
-
제품 이름:
- Operators > 설치된 Operators를 클릭합니다.
- 설치된 Operator 목록에서 3scale Operator를 클릭합니다.
- API Manager 탭을 클릭합니다.
- APIManager 생성을 클릭합니다.
편집기에 다음 YAML 정의를 추가합니다.
프로덕션에 대해 활성화하는 경우 다음 YAML 결함을 구성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스테이징 을 위해 활성화하는 경우 다음 YAML 결함을 구성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 생성을 클릭합니다.
2.6.6. 평가 배포에 대한 개념 증명 링크 복사링크가 클립보드에 복사되었습니다!
다음 섹션에서는 3scale 평가 배포에 대한 개념 증명에 적용되는 구성 옵션에 대해 설명합니다. 이 배포에서는 내부 데이터베이스를 기본값으로 사용합니다.
외부 데이터베이스의 구성은 프로덕션 환경의 표준 배포 옵션입니다.
2.6.6.1. 기본 배포 구성 링크 복사링크가 클립보드에 복사되었습니다!
컨테이너에 Kubernetes 리소스 제한 및 요청이 있습니다.
- 이는 최소 성능 수준을 보장합니다.
- 리소스를 제한하여 외부 서비스 및 솔루션 할당을 허용합니다.
- 내부 데이터베이스를 배포합니다.
파일 스토리지는 지속성 볼륨(PV)을 기반으로 합니다.
- 하나는 읽기, 쓰기, 실행(RWX) 액세스 모드가 필요합니다.
- OpenShift는 요청 시 이를 제공하도록 구성되어 있습니다.
- MySQL을 내부 관계형 데이터베이스로 배포합니다.
기본 구성 옵션은 PoC(Proof of concept) 또는 고객의 평가에 적합합니다.
APIManager 사용자 정의 리소스의 특정 필드 값으로 기본 구성 옵션 중 하나 또는 모든 기본 구성 옵션을 재정의할 수 있습니다. 3scale 연산자를 사용하면 모든 사용 가능한 조합을 사용할 수 있지만 템플릿은 고정 배포 프로필을 허용합니다. 예를 들어 3scale 연산자를 사용하면 평가 모드 및 외부 데이터베이스 모드에서 3scale을 배포할 수 있습니다. 템플릿에서는 이러한 특정 배포 구성을 허용하지 않습니다. 템플릿은 가장 일반적인 구성 옵션에서만 사용할 수 있습니다.
2.6.6.2. 평가 설치 링크 복사링크가 클립보드에 복사되었습니다!
평가 설치의 경우 컨테이너에 kubernetes 리소스 제한 및 요청이 지정되지 않습니다. 예를 들어 다음과 같습니다.
- 작은 메모리 공간
- 빠른 시작
- 랩탑에서 실행 가능
- 사전 판매 / 판매 데모에 적합
추가 리소스
- 자세한 내용은 APIManager 사용자 정의 리소스를 참조하십시오.
2.6.7. 외부 데이터베이스 설치 링크 복사링크가 클립보드에 복사되었습니다!
외부 데이터베이스 설치는 고가용성(HA)이 요구 사항이거나 자체 데이터베이스를 재사용할 계획인 프로덕션 용도에 적합합니다.
3scale 외부 데이터베이스 설치 모드를 활성화할 때 다음 데이터베이스 중 하나 이상을 3scale 외부로 구성할 수 있습니다.
-
backend-redis
-
system-redis
-
system-database
(mysql
,postgresql
또는Oracle
) -
zync-database
3scale 2.8 이상은 다음 데이터베이스 버전에서 지원됩니다.
데이터베이스 | 버전 |
---|---|
Redis | 5.0 |
MySQL | 8.0 |
PostgreSQL | 13 |
3scale을 배포하기 위해 APIManager 사용자 지정 리소스를 생성하기 전에 OpenShift 시크릿을 사용하여 외부 데이터베이스에 대해 다음 연결 설정을 제공해야 합니다.
2.6.7.1. 백엔드 Redis 시크릿 링크 복사링크가 클립보드에 복사되었습니다!
다음 예와 같이 두 개의 외부 Redis 인스턴스를 배포하고 연결 설정을 작성합니다.
시크릿 이름은 backend-redis
여야 합니다.
2.6.7.2. 시스템 Redis 시크릿 링크 복사링크가 클립보드에 복사되었습니다!
다음 예와 같이 두 개의 외부 Redis 인스턴스를 배포하고 연결 설정을 작성합니다.
시크릿이름은 system-redis
여야 합니다.
2.6.7.3. 시스템 데이터베이스 시크릿 링크 복사링크가 클립보드에 복사되었습니다!
-
시크릿이름은
system-database
여야 합니다.
3scale을 배포할 때 시스템 데이터베이스에 대한 세 가지 대안이 있습니다. 각 대체의 관련 보안에 대해 서로 다른 속성 및 값을 구성합니다.
- MySQL
- PostgreSQL
- Oracle Database
MySQL, PostgreSQL 또는 Oracle Database 시스템 데이터베이스 시크릿을 배포하려면 다음 예와 같이 연결 설정을 작성합니다.
MySQL 시스템 데이터베이스 시크릿
3scale 2.12와 함께 MySQL 8.0을 사용하는 경우 인증 플러그인을 mysql_native_password
로 설정해야 합니다. MySQL 구성 파일에 다음을 추가합니다.
[mysqld] default_authentication_plugin=mysql_native_password
[mysqld]
default_authentication_plugin=mysql_native_password
PostgreSQL 시스템 데이터베이스 시크릿
Oracle 시스템 데이터베이스 시크릿
-
{DB_USER}
및{DB_PASSWORD}
는 일반 비 시스템 사용자의 사용자 이름과 암호입니다. -
{DB_NAME}
은 Oracle Database 서비스 이름입니다.
2.6.7.4. Zync 데이터베이스 시크릿 링크 복사링크가 클립보드에 복사되었습니다!
zync 데이터베이스 설정에서 spec.externalmanifests.zync.database
필드가 true
로 설정된 경우 3scale을 배포하기 전에 zync
라는 시크릿을 생성해야 합니다. 이 시크릿에서 DATABASE_URL
및 DATABASE_PASSWORD
필드를 외부 zync 데이터베이스를 가리키는 값으로 설정합니다. 예를 들면 다음과 같습니다.
zync 데이터베이스는 고가용성 모드여야 합니다.
2.6.7.5. 3scale을 배포하기 위한 APIManager 사용자 정의 리소스 링크 복사링크가 클립보드에 복사되었습니다!
-
외부 구성 요소를 활성화하는 경우 3scale을 배포하기 전에 각 외부 구성 요소 (
backend-redis
system-redis
,system-database
,zync
)에 대한 시크릿을 생성해야 합니다. -
외부
system-database
의 경우 외부화할 하나의 데이터베이스 유형만 선택합니다.
APIManager 사용자 지정 리소스의 구성은 선택한 데이터베이스가 3scale 배포 외부에 있는지 여부에 따라 달라집니다.
backend-redis
, system-redis
, 또는 system-database
가 3scale 외부에 있는 경우 APIManager 사용자 지정 리소스를 해당 externalComponents
오브젝트를 채워야 합니다. 예를 들어 다음과 같습니다.
2.6.8. Amazon Simple Storage Service 3scale Filestorage 설치 링크 복사링크가 클립보드에 복사되었습니다!
다음 예제에서는 PVC(영구 볼륨 클레임) 대신 Amazon Simple Storage Service(Amazon S3)를 사용하여 3scale FileStorage를 보여줍니다.
3scale을 배포하기 위해 APIManager 사용자 지정 리소스를 생성하기 전에 openshift 시크릿을 사용하여 S3 서비스에 대한 연결 설정을 제공해야 합니다.
2.6.8.1. Amazon S3 시크릿 링크 복사링크가 클립보드에 복사되었습니다!
AWS S3 호환 공급자는 AWS_HOSTNAME
,AWS_PATH_STYLE
, AWS_PROTOCOL
선택 키를 사용하여 S3 시크릿에 구성할 수 있습니다. 자세한 내용은 S3 시크릿 참조를 확인하십시오.
다음 예에서 Secret 이름은 APIManager 사용자 정의 리소스에서 참조되므로 무엇이든 될 수 있습니다.
Amazon S3 리전 및 Amazon S3 버킷 설정은 APIManager 사용자 정의 리소스에서 직접 제공됩니다. Amazon S3 시크릿 이름은 APIManager 사용자 정의 리소스에서 직접 제공됩니다.
마지막으로 APIManager 사용자 정의 리소스를 생성하여 3scale을 배포합니다.
참조를 위해 APIManager SystemS3Spec을 확인합니다.
2.6.9. PostgreSQL 설치 링크 복사링크가 클립보드에 복사되었습니다!
MySQL 내부 관계형 데이터베이스는 기본 배포입니다. 이 배포 구성은 대신 PostgreSQL을 사용하도록 재정의할 수 있습니다.
추가 리소스
- 자세한 내용은 APIManager DatabaseSpec 을 참조하십시오.
2.6.10. 구성 요소 수준에서 컴퓨팅 리소스 요구 사항 사용자 정의 링크 복사링크가 클립보드에 복사되었습니다!
APIManager 사용자 정의 리소스 속성을 통해 3scale 솔루션의 Kubernetes Compute 리소스 요구 사항을 사용자 정의합니다. 이 작업을 수행하여 특정 APIManager 구성 요소에 할당된 CPU 및 메모리인 컴퓨팅 리소스 요구 사항을 사용자 정의합니다.
다음 예제에서는 backend-listener
및 zync-database
에 대해 system-master의 system-provider
컨테이너에 대한 컴퓨팅 리소스 요구 사항을 사용자 지정하는 방법을 간략하게 설명합니다.
추가 리소스
구성 요소 수준 사용자 정의 리소스 요구 사항을 지정하는 방법에 대한 자세한 내용은 APIManager CRD 참조를 확인하십시오.
2.6.10.1. 기본 APIManager 구성 요소 컴퓨팅 리소스 링크 복사링크가 클립보드에 복사되었습니다!
APIManager spec.resourceRequirementsEnabled
속성을 true
로 구성하면 기본 컴퓨팅 리소스가 APIManager 구성 요소에 대해 설정됩니다.
APIManager 구성 요소에 설정된 특정 컴퓨팅 리소스 기본값이 다음 표에 표시되어 있습니다.
2.6.10.1.1. CPU 및 메모리 단위 링크 복사링크가 클립보드에 복사되었습니다!
다음 목록에서는 컴퓨팅 리소스 기본값 표에 언급된 단위를 설명합니다. CPU 및 메모리 유닛에 대한 자세한 내용은 Managing Resources for Containers 를 참조하십시오.
리소스 단위 설명
- m - milliCPU 또는 millicore
- Mi - 메비 바이트
- GI - 기비바이트
- G - 기가바이트
구성 요소 | CPU 요청 | CPU 제한 | 메모리 요청 | 메모리 제한 |
---|---|---|---|---|
system-app의 system-master | 50m | 1000m | 600Mi | 800Mi |
system-app의 system-provider | 50m | 1000m | 600Mi | 800Mi |
system-app의 system- developer | 50m | 1000m | 600Mi | 800Mi |
system-sidekiq | 100m | 1000m | 500Mi | 2Gi |
system-sphinx | 80m | 1000m | 250Mi | 512Mi |
system-redis | 150m | 500m | 256Mi | 32Gi |
system-mysql | 250m | 제한 없음 | 512Mi | 2Gi |
system-postgresql | 250m | 제한 없음 | 512Mi | 2Gi |
backend-listener | 500m | 1000m | 550Mi | 700Mi |
backend-worker | 150m | 1000m | 50Mi | 300Mi |
backend-cron | 50m | 150m | 40Mi | 80Mi |
backend-redis | 1000m | 2000m | 1024Mi | 32Gi |
APIcast-production | 500m | 1000m | 64Mi | 128Mi |
apicast-staging | 50m | 100m | 64Mi | 128Mi |
zync | 150m | 1 | 250M | 512Mi |
zync-que | 250m | 1 | 250M | 512Mi |
zync-database | 50m | 250m | 250M | 2G |
2.6.11. 구성 요소 수준에서 노드 유사성 및 허용 오차 사용자 정의 링크 복사링크가 클립보드에 복사되었습니다!
APIManager 사용자 정의 리소스 속성을 통해 Red Hat 3scale API Management 솔루션의 Kubernetes 유사성 및 허용 오차를 사용자 지정하여 설치의 다양한 3scale 구성 요소가 Kubernetes 노드에 예약되는 위치와 방법을 사용자 지정합니다.
다음 예제에서는 백엔드에 대한 사용자 정의 노드 유사성을 설정합니다. 또한 system-memcached
에 대한 리스너 및 사용자 정의 허용 오차를 설정합니다.
추가 리소스
선호도 및 허용 오차와 관련된 전체 속성 목록은 APIManager CDR 참조에서 확인하십시오.
2.6.12. 조정 링크 복사링크가 클립보드에 복사되었습니다!
3scale Operator가 설치되면 3scale Operator에서 지정된 매개변수 세트를 사용자 정의 리소스에서 업데이트하여 시스템 구성 옵션을 수정할 수 있습니다. 시스템을 중지하거나 종료하지 않고 핫 스와핑을 통해 수정이 수행됩니다.
APIManager CRD(사용자 정의 리소스 정의)의 매개 변수가 모두 조정 가능한 것은 아닙니다.
다음은 조정 가능한 매개변수 목록입니다.
2.6.12.1. 리소스 링크 복사링크가 클립보드에 복사되었습니다!
모든 3scale 구성 요소에 대한 리소스 제한 및 요청
2.6.12.2. 백엔드 복제본 링크 복사링크가 클립보드에 복사되었습니다!
백엔드 구성 요소 pod 수입니다.
2.6.12.3. APIcast 복제본 링크 복사링크가 클립보드에 복사되었습니다!
APIcast 스테이징 및 프로덕션 구성 요소 Pod 수입니다.
2.6.12.4. 시스템 복제본 링크 복사링크가 클립보드에 복사되었습니다!
시스템 앱 및 시스템 sidekiq 구성 요소 Pod 수
2.6.12.5. Zync 복제본 링크 복사링크가 클립보드에 복사되었습니다!
Zync 앱 및 que 구성 요소 Pod 수